보안 감시 Apple, iOS 보안 정보 공개

Apple, iOS 보안 정보 공개

비디오: iOS 15 УБЬЁТ iPhone 6s, SE и 7? (십월 2024)

비디오: iOS 15 УБЬЁТ iPhone 6s, SE и 7? (십월 2024)
Anonim

Apple은 최근 Black Hat 컨퍼런스에서 새로운 버그 현상금 프로그램을 발표했다고 들었습니다. 애플의 보안 엔지니어링 및 아키텍처 책임자 인 이반 크르 스틱 (Ivan Krstic)은 이례적인 모습으로 발표했다. 그러나 그것은 50 분짜리 프레젠테이션의 마지막 10 분이었습니다. 처음 40 분 동안 Krstic은 iOS 보안의 세 가지 구성 요소에 대해 전례없는 심층 분석을 수행했습니다. 그리고 깊은 의미에서 나는 목욕 공간을 의미합니다.

필자의 전반적인 테이크 아웃은 이러한 시스템이 Apple 자체로부터조차 사용자 데이터를 얼마나 철저하게 보호하는지에 대한 경외감이었습니다. 나는 너무 기술적이지 않고 말한 것을 전달하려고 노력할 것입니다.

강화 된 WebKit JIT 매핑

미안합니다. JIT는 Just In Time의 약자이며, Javascript 코드가 실행되도록 적시에 컴파일되는 방식을 나타냅니다. Krstic은“이것은 고성능 JavaScript에 필요합니다. "하지만 코드 서명 정책은 완화되어야합니다. JIT 컴파일러는 서명되지 않은 새 코드를 생성합니다. 어디서나 쓰기 공격을 관리 한 공격자는 임의 코드를 실행할 수 있습니다."

작은 배경의 경우 메모리 영역에 읽기, 쓰기 및 실행 권한이 표시 될 수 있습니다. 오래 전부터 소개 된 이러한 차이는 데이터 전용 영역에서 코드를 실행하는 공격을 차단했습니다. 간단히 말해, 애플 솔루션에는 컴파일 된 JavaScript를 메모리 영역에 넣어서 실행 만 허용하는 기술이 포함됩니다. 프로세스는 존재하는 것을 읽거나 새로운 데이터를 쓸 수 없습니다. 그것보다 조금 더 있지만 iOS 10에 특화된이 변경은 가능한 모든 범위의 공격을 제거합니다.

안전한 엔 클레이브 프로세서

Apple 장치의 응용 프로그램은 응용 프로세서 또는 AP라는 CPU에서 실행됩니다. 최신 Apple 장치에는 SEP (Secure Enclave Processor)라고하는 완전히 별개의 CPU가 있습니다. Krstic은“SEP는 사용자 암호로부터 강력한 암호화 마스터 키로 보호됩니다. "오프라인 공격은 불가능하다. AP가 손상된 경우에도 AP의 공격 영역을 피할 수있다. 모든 사용자 액세스를 중재하고 자체 암호화 된 메모리를 관리한다. 최초 초기화시 진정한 난수 생성기를 사용하여 고유 한 "내보낼 수 없으며 변경 불가능한 보안 ROM에 저장됩니다."

Krstic은 장치가 다른 특성을 가진 4 가지 유형의 내부 보안 키를 어떻게 사용하는지 설명했습니다. 유형 A는 장치가 잠금 해제 된 경우에만 존재합니다. 유형 B는 항상 존재하는 공개 키와 장치 잠금이 해제 될 때 존재하는 개인 키입니다. 부팅 후 처음 장치 잠금을 해제하면 C 유형이 나타납니다. 그리고 D 타입은 항상 사용 가능합니다.

프레젠테이션은 여러 가지 복잡한 다이어그램으로 진행되었습니다. 하나는 장치를 부팅 및 잠금 해제하는 과정을 안내했으며 각 키 유형이 생성되고 저장되는 방법을 보여줍니다. 장치의 모든 파일에는 고유하고 고유 한 암호화 키가 있습니다. 또 다른 다이어그램은 필수 보안 키를 그대로 유지하면서 SEP가 해당 파일을 인증 및 암호 해독 할 수있는 복잡한 춤을 보여줍니다. 다른 하나는 "나중에 업데이트"를 선택할 수있는 복잡한 프로세스를 설명했습니다. 그리고 또 다른 방법은 마스터 키를 어떤 식 으로든 표시하지 않고 터치 ID를 통해 잠금을 해제 할 수있는 프로세스를 진행했습니다.

이 부분에서 중요한 점은 Apple이 실제로 사용자가 많은 문제를 겪지 않고 Secure Enclave Processor 내에서 암호화를 완전히 관리하는 데 필요한 것을 실제로 생각했다는 것입니다. 해당 다이어그램을 직접 보려면 Krstic의 전체 프레젠테이션을 확인하십시오.

비밀 동기화

여러 Apple 장비간에 데이터를 동기화 할 수있어 매우 편리합니다. HomeKit을 사용하면 IoT 장비를 관리하고, AutoUnlock을 사용하면 Apple Watch가 가까이있을 때 Mac의 잠금이 해제되고, iCloud를 통해 사진이 동기화됩니다. 그러나 보안 측면에서는 동기화가 문제입니다.

Krstic은 "전통적인 접근 방식은 좋지 않다"고 말했다. "한 가지 방법은 사용자가 모든 장치에서 강력한 '양말 서랍 키'를 입력하도록하는 것입니다. 잃어 버리면 비밀에 대한 액세스가 손실됩니다. 다른 방법은 데이터를 계정 공급자."

"우리는 여러 목표를 가지고있었습니다." "강력한 암호로 보호되는 모든 기기에서 비밀을 사용할 수 있어야합니다. 모든 연결된 기기를 잃어버린 경우에도 비밀을 복구 할 수 있습니다. 데이터는 Apple에 노출되지 않으며 무차별 대입 공격의 가능성이 없습니다."

기본 iCloud Keychain 시스템의 인증은 간단합니다. 모든 기기에는 자체 키 페어가 있으며 동기화 서클에 새 기기를 추가하려면 기존 기기 중 하나에서 승인해야합니다. 애플의 백엔드는 관여하지 않습니다. 특권이 없습니다. 사용자가 모든 기기에 액세스 할 수없는 경우 iCloud 보안 키와 iCloud 비밀번호를 모두 사용하여 다시 액세스 할 수 있습니다.

Krstic은 Apple을 포함한 모든 사람이 백엔드의 데이터에 액세스 할 수있는 가능성을 최소화하지 않고 Apple이이 시스템을 관리하는 방법에 대해 자세히 설명했습니다. 이 시스템에는 새로운 암호 서버가 시운전 될 때 생성되는 관리자 카드가 포함됩니다. Krstic은“관리 카드는 함대가 의뢰 될 때 안전한 의식으로 만들어지고 Apple의 3 개의 다른 조직을 보호하기 위해 별도의 물리적 금고에 변조 방지 증거 백으로 저장된다”고 말했다.

이 상황은 함대가 실제로 작동 할 때까지만 지속됩니다. 그 당시 Krstic은 "관리자 카드를 새로운 단방향 해시 기능을 통해 넣었습니다."라고 말했습니다. 그는 연단 아래에서 명확하게 사용 된 블렌더를 꺼내면서 "예, 블렌더를 통한 여행"을 계속했습니다. 일단 암호화 서버가 활성화되면 관리 카드가 손상되어 Apple을 통해서도 업데이트 할 수 없습니다. 실제로 업데이트가 필요한 경우 Apple은 새로운 차량을 가동시키고 사용자 장비를 새로운 차량에 연결할 수 있도록 소프트웨어 업데이트를 보내야합니다.

Krstic은“이러한 이유는 무엇입니까? "이 마지막 단계는 왜 이례적인 일이 아닌가? 우리는 신뢰를 제공하기 위해 보안 시스템을 설계하기 위해 많은 노력을 기울이고 있습니다. 데이터가 장치를 떠날 때 말뚝이 더 높아집니다. 우리는 그 신뢰를 유지해야합니다. 이러한 관리 카드는 사실이 아닐 가능성이 있습니다. 이것이 우리가 사용자 데이터에 대한 사명을 얼마나 심각하게 받아들이는지입니다."

"FBI가 정보를 요청했기 때문에이 작업을 했습니까?" Krstic은 "저는 엔지니어입니다. 오늘 발표 한 이유에 대한 질문에만 답할 수 있습니다."라고 대답했습니다. 알았어, 충분 해 하지만 질문자가 옳았다 고 생각합니다. 자신을 수정할 수없는 자체 포함 된 시스템을 만드는 것은 다른 사람이 원치 않는 변경을하지 못하게하는 좋은 방법입니다.

Krstic의 이야기에서 눈길을 사로 잡지 않고 세부 수준을 전달했으면 좋겠습니다. 그룹이 분산됨에 따라 채터가 판단한 결과 방의 실제 바이트 수준 보안 괴짜들은 깊은 인상을 받았습니다.

Apple, iOS 보안 정보 공개