이 기사의 버전이 게재되었습니다 SC 매거진. 여기에서 수정 및 신디케이트되었습니다.
집에 도둑이 침입한 적이 있다면, 처음에는 뭔가 이상하다는 느낌이 들다가, 그 후 자신이 실제로 도둑맞고 침해당했다는 사실을 깨닫게 될 것입니다. 포트녹스에 필적하는 보안 대책으로 전환하는 것은 물론이고, 일반적으로 불쾌감이 오래 지속됩니다.
도둑이 직접 열쇠를 만들어 집이 파괴된 상황을 상상해 보십시오. 그들은 몰래 접근해 마음대로 드나들지만, 들키지 않도록 조심합니다. 그러다 어느 날, 냉동고에 숨겨둔 보석이 사라지거나 금고가 비워지거나 개인 소지품이 약탈당한 사실을 너무 늦게 깨닫게 됩니다.이는 제로데이 사이버 공격 피해를 입었을 때 조직이 직면하는 현실과 완전히 동일합니다. 2020년 포네몬 연구소의 조사에 따르면, 데이터 유출 성공 사례의 80%가 제로데이 익스플로잇의 결과였으며, 안타깝게도 대부분의 기업은 이 통계를 크게 개선할 준비가 되어 있지 않습니다.
제로데이 공격은 당연히 공격자가 최초로 침투하기 때문에 개발자가 악용될 수 있는 기존 취약점을 발견하고 패치를 적용할 시간이 전혀 없습니다. 피해가 발생하면 비즈니스에 대한 소프트웨어와 평판 저하를 모두 수정하려는 광란의 경쟁이 벌어집니다. 공격자는 항상 유리한 입장에 있으며, 그 우위를 최대한 막는 것이 중요합니다.
아무도 원하지 않았던 휴일 선물인 Log4Shell이 현재 인터넷을 휩쓸고 있으며, 10억 대가 넘는 기기가 이 파괴적인 자바 취약점의 영향을 받고 있다고 합니다. 이는 기록상 최악의 제로데이 공격이 되어가고 있으며, 아직 시작에 불과합니다. 그럼에도 일부 보고서에 따르면 익스플로잇은 공개 며칠 전부터 시작되었다고 합니다. 2016년 블랙햇 컨퍼런스 발표 자료에 따르면 이 문제는 한동안 알려진 상태였던 것으로 보입니다. 참으로 안타까운 일입니다. 더욱 심각한 것은 이 취약점이 매우 쉽게 악용될 수 있어 전 세계의 모든 스크립트 소년이나 위협 행위자들이 이 취약점을 노리고 있다는 점입니다.
그렇다면 소프트웨어 개발 과정에서 간과되어 온 취약점은 물론이고, 미끄러운 악의적인 위협으로부터 자신을 보호하기 위한 최선의 방법은 무엇일까요? 그럼 살펴보겠습니다.
대규모 표적을 대상으로 한 제로데이 공격은 드물며(그리고 비용이 많이 듭니다)
다크 웹에는 악용 코드에 대한 거대한 시장이 존재하며, 예를 들어 제로데이 취약점은 상당한 금액에 거래되는 경향이 있습니다. 이 글을 작성하는 시점에서 250만 달러에 거래되고 있습니다.애플 iOS 악용으로 보고되었지만, 보안 연구자들의 제시 가격이 치솟는 것은 놀라운 일이 아니다. 결국 이는 실제로 수백만 대의 기기를 침해하고, 수십억 건의 기밀 데이터 레코드를 수집하며, 발견되어 패치되기 전까지 가능한 한 오랫동안 이를 수행할 수 있는 관문이 될 수 있기 때문이다.
그러나 애초에 누가 그런 돈을 가지고 있을까요? 일반적으로 조직화된 사이버 범죄 조직은 특히 인기 있는 랜섬웨어 공격에 대해 가치가 있다고 판단되면 자금을 조달합니다. 그러나 전 세계 정부와 방위 부문은 위협 인텔리전스를 위해 활용 가능한 익스플로잇의 고객이며, 더 긍정적인 시나리오에서는 기업 자체가 잠재적인 제로데이 익스플로잇의 구매자가 되어 재해를 완화할 수 있습니다.
2021년에는 기록이 깨졌습니다. 제로데이 익스플로잇의 실시간 발견 대상이며, 취약점에 대한 조사를 받을 위험이 가장 높은 곳은 대규모 조직, 정부 기관 및 인프라입니다. 제로데이 공격 가능성으로부터 완전히 보호하는 방법은 없지만,관대하고 잘 구성된 버그 보상 프로그램을 제공함으로써 어느 정도 '게임을 할' 수 있습니다. 다크 웹 마켓플레이스에서 누군가가 소프트웨어 성의 열쇠를 내놓을 때까지 기다리지 말고, 합법적인 보안 매니아들을 아군으로 삼아 윤리적 공개와 잠재적 수정 사항에 대해 적절한 보상을 제공하십시오.
그리고 그것이 우연히 소름 끼치는 제로데이 위협이라면, 아마존 기프트 카드 이상의 대가를 치러야 한다고 생각하는 것이 틀림없습니다(그만한 가치가 있습니다).
도구 사용은 보안 담당자의 부담이 될 수 있습니다.
복잡한 보안 도구는 오랫동안 문제였으며, 평균적인 CISO는 보안 무기고에서 55개에서 75개에 이르는 도구를 관리하고 있습니다. 세계에서 가장 복잡한 (비유적으로) 스위스 군용 칼이라는 점은 차치하고서라도, 53%의 기업이 자신들이 효과적으로 운영되고 있다는 점조차 확신하지 못한다고 응답했습니다. 포네몬 연구소(Ponemon Institute)의 한 연구에 따르면, 자사 보안 스택이 '완전히 효과적'이라고 생각하는 CISO는 불과 17%에 불과하다는 사실이 밝혀졌습니다.
번아웃 증후군, 수요를 충족시킬 보안 기술을 보유한 인재 부족, 민첩성의 필요성으로 알려진 이 분야에서는 방대한 도구 세트의 데이터, 보고서, 모니터링 형태로 보안 전문가들이 정보 과잉 처리를 강요당하는 것이 큰 부담이 되고 있습니다. 이는 바로 Log4j 취약점을 적절히 평가할 때에도 적용될 수 있는, 중요한 경고를 놓치는 원인이 되는 시나리오입니다.
예방적 보안에는 개발자 주도 위협 모델링을 포함해야 합니다
코드 수준의 취약점은 개발자에 의해 도입되는 경우가 많으며, 안전한 코딩 기술을 습득하려면 정확한 지침과 정기적인 학습 경로가 필요합니다. 그러나 다음 단계의 보안 개발자에게는 소프트웨어 제작 과정의 일환으로 위협 모델링을 배우고 실천할 기회가 주어집니다.
자사 소프트웨어를 가장 잘 아는 사람들이 바로 그 자리에 앉아 개발한 개발자라는 것은 놀라운 일이 아닙니다. 그들은 사용자가 소프트웨어를 조작하는 방식, 기능이 사용되는 위치, 그리고 보안이 충분히 인식된다면 소프트웨어가 손상되거나 악용될 수 있는 시나리오에 대해 강력한 지식을 보유하고 있습니다.
Log4Shell 익스플로잇으로 돌아가 보면, 안타깝게도 전문가나 복잡한 도구 세트로는 치명적인 취약점을 탐지하지 못하는 시나리오가 나타납니다. 다만,라이브러리가 사용자 입력을 정제하도록 구성되어 있었다면, 이 문제는 전혀 발생하지 않았을 수도 있습니다. 그렇게 하지 않기로 한 결정은 편의성을 높이기 위한 모호한 기능이었던 것 같습니다만, 악용하기가 매우 쉬워졌습니다(SQL 인젝션 수준을 생각해 보십시오. 확실히 천재적인 것은 아닙니다). 보안에 정통한 열성적인 개발자 그룹이 위협 모델링을 수행하고 있었다면, 이 시나리오는 이론화되고 검토되었을 가능성이 높습니다.
우수한 보안 프로그램에는 감정적 요소가 있으며, 인간이 만든 문제 해결의 중심에는 인간의 개입과 미묘한 차이가 존재합니다. 위협 모델링을 효과적으로 수행하려면 공감과 경험이 필요하며, 소프트웨어와 애플리케이션 아키텍처 수준에서의 안전한 코딩과 구성도 요구됩니다. 이는 개발자가 하룻밤 사이에 해결해야 할 과제는 아니지만, 이 중요한 작업에 대한 보안 팀의 부담을 덜어줄 수 있을 만큼 개발자의 역량을 향상시키는 명확한 로드맵을 마련하는 것이 이상적입니다 (또한 양 팀 간의 신뢰 관계를 구축하기 위한 훌륭한 방법이기도 합니다).
제로데이는 n일로 이어진다
제로데이 대응의 다음 단계는 패치를 가능한 한 빨리 배포하는 것입니다. 취약한 소프트웨어의 모든 사용자가 가능한 한 빨리, 그리고 공격자가 먼저 패치를 적용하기 전에 확실히 패치를 적용하기를 바랍니다. Log4Shell의 경우, 수백만 개의 장치에 내장되어 소프트웨어 빌드 전반에 걸쳐 복잡한 의존성을 생성하고 있음에도 불구하고, 그 내구성과 높은 효력으로 인해 하트블리드를 완전히 압도할 수도 있습니다.
현실적으로, 이러한 종류의 은밀한 공격을 완전히 차단하는 방법은 없습니다. 그러나 모든 수단을 동원하여 고품질의 안전한 소프트웨어를 만들고, 중요한 인프라와 동일한 사고방식으로 개발에 임하겠다는 약속을 한다면 우리 모두에게 싸울 기회가 있습니다.