2. Control Hijacking Attacks

Поделиться
HTML-код
  • Опубликовано: 29 мар 2017
  • MIT 6.858 Computer Systems Security, Fall 2014
    View the complete course: ocw.mit.edu/6-858F14
    Instructor: James Mickens
    In this lecture, Professor Mickens continues the topic of buffer overflows, discussing approaches to such control hijacking attacks.
    License: Creative Commons BY-NC-SA
    More information at ocw.mit.edu/terms
    More courses at ocw.mit.edu

Комментарии • 68

  • @happy_labs
    @happy_labs 6 лет назад +18

    The fortran/cobol comment was the first time I've ever laughed out loud listening to a lecture. This whole presentation was super interesting and really well delivered

  • @Ali_Alhajji
    @Ali_Alhajji 4 года назад +60

    I finally understand how doors work. Thank you MIT!!

    • @davidramos8888
      @davidramos8888 3 года назад +7

      I was wondering how this comment would fit into the context of this video. Figured that out in the first few seconds lol.

    • @davidneal1127
      @davidneal1127 2 года назад +5

      $80k a year in tuition and can't afford a can of three in one oil or wd40.

  • @baileyharrison1030
    @baileyharrison1030 7 лет назад +38

    OMG that door

  • @AlexandraSandulescu
    @AlexandraSandulescu 5 лет назад +30

    the proper term for bp / ebp register is "base pointer" not "break pointer"

  • @Rookiemi
    @Rookiemi 7 лет назад +78

    too much door noise...needs some oil..

    • @qwerty69600
      @qwerty69600 7 лет назад +12

      or the students could learn to tell the time

    • @BULLSHXTYT
      @BULLSHXTYT 3 года назад

      Neri Matrixx This is just the second class genius. How many projects do you need to handle in that time? Mr. graduate?

  • @michaelendrizzi1293
    @michaelendrizzi1293 5 лет назад +3

    Great lecture. Great style. I question the cost/benefit of the defenses. 1) Hacker does remote overflow of custom code, cannot see core dump so extremely hard to write an overflow without knowing the stack structure 2) Hacker overflows known piece of open source code. Hacker will see all the defenses (canary) and plans accordingly. SUMMARY: Best defense is bounds and input checking (following through on pointer dereferences), static code analysis, code review the diffs, training on OWASP top 10.

  • @siddhanthasda6288
    @siddhanthasda6288 5 лет назад +8

    vinod kambli sir.. you are great

  • @IsaacSerafino
    @IsaacSerafino 5 лет назад +7

    Pretty sure it's a mistake to include C# in the list of languages that are safe from allowing raw pointer access.

  • @stephenmwita6228
    @stephenmwita6228 6 лет назад +11

    Coolest lecture ever.

  • @neuroplush7657
    @neuroplush7657 3 месяца назад

    It's amazing how someone not putting WD-40 on a hinge can make a lecture incredibly hard to learn from.

  • @turboDout
    @turboDout 6 лет назад +2

    Really nice lecture. The professor presents the information in a pleasant way.

  • @egonkirchof
    @egonkirchof Месяц назад

    No language can be fast and safe at the same time.

  • @aidanbrumsickle
    @aidanbrumsickle 4 года назад +3

    The closed captions need to be reviewed by someone who understands the material. There are several mistakes.

  • @hoopssheaffer
    @hoopssheaffer 6 лет назад +2

    This lecturer is awesome

  • @kobeclan8558
    @kobeclan8558 2 года назад

    "imagine what happened in my parent time, if they did not understand things, they had to go home "😂

  • @hechen236
    @hechen236 5 лет назад

    1:22:00 When you check whether p' is out of bound, you actually have access to p. That means you can get the binary logarithm of the allocation size just from the table[p>>slot_size]. Why do you want the table to cover all allocation size of p?

  • @user-hd3pz2ow1b
    @user-hd3pz2ow1b 4 месяца назад

    11:49 great info

  • @MuhammadShahbaz-gz8sc
    @MuhammadShahbaz-gz8sc 3 года назад

    How it would work in practical observation

  • @kingking-zb2yy
    @kingking-zb2yy Год назад +1

    excellent professor, but has got an iconic handwriting.

  • @hex1101
    @hex1101 5 лет назад +3

    Hmm not a newbie lecture but interesting for sure

  • @petitionForHeeHaw
    @petitionForHeeHaw 6 лет назад +1

    Terrific lecturer.

  • @GamingBlake2002
    @GamingBlake2002 4 года назад +16

    STOP COMING THROUGH THE DOOR. JUST STOP. GO HOME. PLEASE.

  • @GOLDVIOLINbowofdeath
    @GOLDVIOLINbowofdeath 4 года назад +2

    Those are squeaking folding chairs, not a door

  • @wick9462
    @wick9462 5 лет назад +2

    5:29 buffer grows downwards in stack, lol

  • @pulkitgoel7195
    @pulkitgoel7195 3 года назад +4

    MIT should mention that there are prerequisite to this course. You can’t possibly understand any of this unless you are highly proficient in programming/coding and how it works.

    • @mitocw
      @mitocw  3 года назад +9

      The syllabus lists 6.033 Computer System Engineering as a prerequisite. See the course on MIT OpenCourseWare for more info at: ocw.mit.edu/6-858F14. Best wishes on your studies!

    • @pulkitgoel7195
      @pulkitgoel7195 3 года назад

      @@mitocw hello, thank you so much for reply. I will first learn 6.033 now.

    • @pulkitgoel7195
      @pulkitgoel7195 3 года назад

      @@mitocw can you please provide latest 6.033 course? The year 2005 one has first 3 lectures missing.

    • @Cneq
      @Cneq 3 года назад

      I'm not sure about this I'm no where near the level of this course but the overall message is pretty easy to understand if you have some barebones knowledge of x86 assembly, C and how all of it works together, sure you may not get the nitty gritty of what this man is completely writing out but in terms of understanding buffer overflow and some of the other high level stuff he speaks about you should be able to understand it.
      Or perhaps I'm just telling myself I understand it, no clue lol however I truly do feel I understand at a high level what is being explained and this lecture and the prior one were great, hope to see how the rest of this course goes.

    • @peterkay7458
      @peterkay7458 Год назад

      @@mitocw i have a degree in physics and worked on the nova and found this lecture really excellent and the lecturer has a great sense of humor for a subject so heavy. Extremely impressed

  • @ashianaismail
    @ashianaismail 2 года назад

    is there an earthquake happening during this lecture or is it just me?

  • @msingh6208
    @msingh6208 Год назад

    Professor CJ ?

  • @rajutiwari7187
    @rajutiwari7187 6 лет назад

    Stack canaries value is something like default value case if there won't any match of cases to be executed in Switch Statement

  • @thecombatengineer7069
    @thecombatengineer7069 3 года назад +1

    Summary: despite the trend toward high and tight jeans, always keep your pointers low and loose, ‘baggy bound.’

  • @Softcushion
    @Softcushion 2 года назад

    That creaking door needs to be fixed asap super distracting at the start.

  • @varunsuresh9737
    @varunsuresh9737 6 лет назад +2

    There is no JIT for python (Cpython atleast). Hence when it comes to C vs Python, definitely C outdoes python in perf

    • @Asorour1988
      @Asorour1988 5 лет назад

      There should be no comparison between high and low level language. of course, C outdoes any higher level not just Python.

    • @flakaal
      @flakaal 5 лет назад

      C outperfs every language

    • @dmsalomon
      @dmsalomon 4 года назад

      Depends on the application. For an I/O bound application there can be very little difference.

    • @ezra1369
      @ezra1369 Год назад

      Python is just a tool for calling c and Haskell function

  • @ezra1369
    @ezra1369 Год назад +1

    Rust solves a lot of the language problems

  • @VivekYadav-ds8oz
    @VivekYadav-ds8oz 3 года назад +1

    I was good until that buddy/baggy allocator thing came.. Then I realized this has prerequisites.

    • @snake_eyes1937
      @snake_eyes1937 2 года назад

      If you watch the next lecture he goes over more in-depth on buffer overflows and the baggy bounds system.

  • @IvanMVABC
    @IvanMVABC 2 года назад

    Ambitionz Az a Programmer

  • @dougd120
    @dougd120 3 года назад

    Too much door noise...needs some oil in the future to control our own hijacking problems.

  • @jamesbrean8004
    @jamesbrean8004 2 месяца назад

    Save the human race and earth

  • @shadyganem5448
    @shadyganem5448 3 года назад +3

    Chris Rock is a good teacher

  • @ares106
    @ares106 3 года назад +1

    Please no more squeaking!!!!

  • @judgeomega
    @judgeomega 7 лет назад +5

    Sanitize. Sanitize all input. Alert log anything suspicious.

    • @satyenshah
      @satyenshah 7 лет назад +11

      Alert log door noise. Lubricate all inputs. Sanitize anything suspicious.

    • @JorgeDiaz-xm7vo
      @JorgeDiaz-xm7vo 6 лет назад

      lol

  • @dakoje2951
    @dakoje2951 4 года назад +1

    What is WRONG with your classroom? Get some hecking oil ....

  • @caret4812
    @caret4812 3 года назад +1

    spoiler alert the most disgusting door and handwriting in the same video

  • @govegan6682
    @govegan6682 4 года назад

    Stop moving the camera so much Jesus Christ it's so annoying.

  • @MrVipulLal
    @MrVipulLal 2 года назад

    Wrong. JavaScript programs suffer from other vulnerabilities. C and C++ are much harder to hack

  • @jonassteinberg3779
    @jonassteinberg3779 6 лет назад

    Decent lecture but guy is somewhat flippant/casual in his opinions about languages. For example does the potential for buffer overflows really imply that C is "...the spawn of the devil?" C is one of the five most important inventions in the history of programming. So 1) what has this professor done? And 2) it is very possible to write and patch apllications. There is no language that is impenitrable right now: not java, go, python, etc. So I'm not convinced yet that the answer is better memory "management".

    • @TCSyndicate
      @TCSyndicate 3 года назад +4

      better memory management gets rid of a class of errors, and thus a large percent of security bugs. Now there's Rust that doesn't have to sacrifice speed to do it.

  • @jonassteinberg3779
    @jonassteinberg3779 6 лет назад

    The more of this I watch the less I am impressed because a lot of the arguments the professor makes do not seem well thought-out. E.g. writing a parser in Python: yeah, okay. But...no one does that in C...ever. So the profundity of that point is lost on me. E.g. "...javascript to run at 2x..." He's comparing the speed of C with Javascript in a lecture on security? Wuh...? To me his wires are very crossed on that point. I'm confused: it's like he thinks software engineers are out writing web apps in C...? They are not...ever. But yes...network applications are written in C, lol...because of its superior speed. Maybe...maybe Go will overtake C...fine. But ya know what? The original Go compiler was written in uhhh...C! And the other is written in C++, lol.

    • @ezra1369
      @ezra1369 Год назад +1

      In the most popular version of python cpython the code your running is just someone else’s c function