sandbox_document_final.odt

Chú ý trong th c t vi c copy cho m i ti n trình m

This preview shows page 4 - 6 out of 18 pages.

Chú ý: trong th c t vi c copy cho m i ti n trình m t b tài nguyên riêng là không kh thi vì ế ế kích th c m i b tài nguyên là r t l n. Vì v y trên th c t ta s cho các ti n trình dùng ướ ế ế chung b tài nguyên h th ng (b tài nguyên g c) đ đ c, và ch khi nào chúng có hành vi thay đ i tài nguyên nào đó thì ta m i t o m t b n copy tài nguyên đó đ chúng tùy ý thay đ i mà ko nh h ng các ti n trình khác. Các ti n trình khác v n dùng tài nguyên g c và b n ưở ế ế thân ti n trình đó v n s d ng các tài nguyên t b g c ngo i tr tài nguyên mà nó v a thay ế đ i. Th c hi n sandbox nh th nào? ư ế
Image of page 4

Subscribe to view the full document.

Theo ví d trên thì ti n trình 1001 s thay file C:\Windows\system32\kernel32.dll (1) b ng ụ ở ế m t file virus. Nh ng v i sandbox thì ta s ph i làm sao đ nó thay đ i file ư C:\SANDBOX\1001\C_\Windows\system32\kernel32.dll(2), và gi s nó mu n đ c file virus ả ử thì ta ko th đ c file C:\Windows\system32\kernel32.dll tr cho nó đ c mà s ph i đ c file ượ C:\SANDBOX\1001\C_\Windows\system32\kernel32.dll. Nh v y ta s ph i làm nh ng vi c ư sau: Ch n hành vi ghi file, thêm ph n SANDBOX\1001 vào đ ng d n đ chuy n file b tác ườ đ ng t (1) thành (2) sau đó m i cho ti n trình 1001 th c thi ti p. ế ế N u 1001 đ c l i file (1), ta s ph i ch n hành vi đ c file, thêm ph n SANDBOX\1001 ế đ chuy n file đ c đ c t (1) thành (2) ượ Bên trên ch là m t tình hu ng c th , nh ng ta th y s có 2 th c n làm: ư Ch n hàm (m , đ c, ghi,... file/registry key) Chuy n h ng tác đ ng t b g c vào b tài nguyên t ng ng. ướ ươ Vi c ch n hàm s th c hi n b ng ph ng pháp hook b ng SSDT, hook các hàm native c a ươ windows: NtCreateFile, NtOpenFile, NtWriteFile, ... Các hàm ch n s có ký hi u là SbNtXxx, đóng vai trò x lý chuy n h ng tr c khi tr l i hàm th t. D i đây s trình bày thu t toán ướ ướ ả ạ ướ x lý chuy n h ng c a hàm SbNtCreateFile và SbNtWriteFile, các hàm khác có t t ng ướ ư ưở cũng t ng t , các đi m khác bi t riêng s đ c comment trong code. ươ ượ Thu t toán c a hàm SbNtCreateFile: Hàm SbNtCreateFile là hàm đ u tiên trong file KEngine\FileObject.cpp Đo n 1: Ki m tra ti n trình n m session nào. ế PPROCESS_ENTRY pProcess; PSESSION_ENTRY pSes = IsInSandbox(&pProcess); NTSTATUS ntStatus = STATUS_SUCCESS; LPWSTR szPath = NULL, szPathRedirect = NULL; BOOLEAN bSandboxed = FALSE; if (pSes == NULL) goto RET_OLD; Tr c h t khái ni m Session chính là các s 1001, 1002 các ví d trên. Các session
Image of page 5
Image of page 6
  • Fall '19

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern