2. Control Hijacking Attacks

Sdílet
Vložit
  • čas přidán 29. 03. 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

Komentáře • 68

  • @Ali_Alhajji
    @Ali_Alhajji Před 3 lety +59

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

    • @davidramos8888
      @davidramos8888 Před 2 lety +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 Před 2 lety +5

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

  • @happy_labs
    @happy_labs Před 6 lety +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

  • @AlexandraSandulescu
    @AlexandraSandulescu Před 5 lety +30

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

  • @baileyharrison1030
    @baileyharrison1030 Před 6 lety +37

    OMG that door

  • @michaelendrizzi1293
    @michaelendrizzi1293 Před 5 lety +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.

  • @IsaacSerafino
    @IsaacSerafino Před 5 lety +7

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

  • @turboDout
    @turboDout Před 6 lety +2

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

  • @siddhanthasda6288
    @siddhanthasda6288 Před 5 lety +8

    vinod kambli sir.. you are great

  • @stephenmwita6228
    @stephenmwita6228 Před 6 lety +11

    Coolest lecture ever.

  • @MSA71260
    @MSA71260 Před 7 lety +78

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

    • @qwerty69600
      @qwerty69600 Před 6 lety +12

      or the students could learn to tell the time

    • @BULLSHXTYT
      @BULLSHXTYT Před 3 lety

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

  • @aidanbrumsickle
    @aidanbrumsickle Před 4 lety +3

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

  • @hechen236
    @hechen236 Před 5 lety

    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?

  • @hoopssheaffer
    @hoopssheaffer Před 6 lety +2

    This lecturer is awesome

  • @hex1101
    @hex1101 Před 5 lety +3

    Hmm not a newbie lecture but interesting for sure

  • @kingking-zb2yy
    @kingking-zb2yy Před rokem +1

    excellent professor, but has got an iconic handwriting.

  • @neuroplush7657
    @neuroplush7657 Před 2 měsíci

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

  • @wick9462
    @wick9462 Před 5 lety +2

    5:29 buffer grows downwards in stack, lol

  • @kobeclan8558
    @kobeclan8558 Před 2 lety

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

  • @jamesheston1644
    @jamesheston1644 Před 5 lety +1

    Terrific lecturer.

  • @GOLDVIOLINbowofdeath
    @GOLDVIOLINbowofdeath Před 4 lety +2

    Those are squeaking folding chairs, not a door

  • @MuhammadShahbaz-gz8sc
    @MuhammadShahbaz-gz8sc Před 3 lety

    How it would work in practical observation

  • @GamingBlake2002
    @GamingBlake2002 Před 4 lety +16

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

  • @user-hd3pz2ow1b
    @user-hd3pz2ow1b Před 2 měsíci

    11:49 great info

  • @pulkitgoel7195
    @pulkitgoel7195 Před 3 lety +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  Před 3 lety +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 Před 3 lety

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

    • @pulkitgoel7195
      @pulkitgoel7195 Před 3 lety

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

    • @Cneq
      @Cneq Před 3 lety

      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 Před rokem

      @@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

  • @egonkirchof
    @egonkirchof Před 9 dny

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

  • @ashianaismail
    @ashianaismail Před 2 lety

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

  • @msingh6208
    @msingh6208 Před rokem

    Professor CJ ?

  • @thecombatengineer7069
    @thecombatengineer7069 Před 3 lety +1

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

  • @rajutiwari7187
    @rajutiwari7187 Před 6 lety

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

  • @Softcushion
    @Softcushion Před 2 lety

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

  • @varunsuresh9737
    @varunsuresh9737 Před 6 lety +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 Před 5 lety

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

    • @flakaal
      @flakaal Před 5 lety

      C outperfs every language

    • @dmsalomon
      @dmsalomon Před 4 lety

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

    • @ezra1369
      @ezra1369 Před rokem

      Python is just a tool for calling c and Haskell function

  • @VivekYadav-ds8oz
    @VivekYadav-ds8oz Před 3 lety +1

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

    • @snake_eyes1937
      @snake_eyes1937 Před 2 lety

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

  • @ezra1369
    @ezra1369 Před rokem +1

    Rust solves a lot of the language problems

  • @IvanMVABC
    @IvanMVABC Před 2 lety

    Ambitionz Az a Programmer

  • @shadyganem5448
    @shadyganem5448 Před 3 lety +3

    Chris Rock is a good teacher

  • @dougd120
    @dougd120 Před 3 lety

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

  • @judgeomega
    @judgeomega Před 7 lety +5

    Sanitize. Sanitize all input. Alert log anything suspicious.

    • @satyenshah
      @satyenshah Před 7 lety +11

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

    • @JorgeDiaz-xm7vo
      @JorgeDiaz-xm7vo Před 6 lety

      lol

  • @dakoje2951
    @dakoje2951 Před 4 lety +1

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

  • @jamesbrean8004
    @jamesbrean8004 Před 25 dny

    Save the human race and earth

  • @ares106
    @ares106 Před 3 lety +1

    Please no more squeaking!!!!

  • @caret4812
    @caret4812 Před 3 lety +1

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

  • @MrVipulLal
    @MrVipulLal Před 2 lety

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

  • @govegan6682
    @govegan6682 Před 4 lety

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

  • @jonassteinberg3779
    @jonassteinberg3779 Před 5 lety

    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 Před 3 lety +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 Před 5 lety

    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 Před rokem +1

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