실재로 확인은 안해봤는데요. 오픈소스 시대가 되어 있을 수 있는 전수되는 해킹 방법이 있는 것 같습니다.
한 예로, 오픈소스에 참여한 사람의 개인정보를 탈취해서 그 사람 PC에 어떤 방법이든 접근해서 메모리 인젝션이 일어나게 하는 경우가 있는데요. 정상적인 URL에 웹브라우저가 접속 요청을 내리면, 내리는 순간, 메모리에 인젝션된 정보대로 그 사람이 참여하는 오픈소스 소스코드에 변경을 몰래 가하는 것이 가능한 것 같애요. 그러면 응용하기에 따라 오픈소스 저장소에 소스코드 변경 사항이 기록도 안되고 바뀌어서 문제가 일어나고나서야 발견을 하는 경우가 있네요. 기록이 남아도, 해킹받은 개발자가 남긴 것처럼 보이구요.
이와 유사한 경우, 해킹받은 분이 오픈소스 개발자는 아니더라도 누군가 해킹을 할때, 단체로 100명 정도가 특정 코드에 버그가 있다고 보고하게 되는 일이 있을 수 있죠. 여러 유형의 단체가 있겠지만 숙주처럼 된 경우에 해당하구요. 100명이 보고한 문제라 버그라고 확신해서 개발자가 그 버그를 고칠때 누군가 했던 메모리 인젝션이 영향을 줘서 다른 정상적인 PC에서는 오작동을 하는 것. 본래의 보고된 버그가 고쳐져도 다른 문제가 일어나는 경우에 의심할만 합니다.
전에 스펙터 공격이나 멜트다운 공격을 패치하고나서 성능이 낮아지는게 현저했던 것도 버그가 고쳐져도 다른 문제가 일어나는 경우인데요. 위의 경우 메모리 인젝션을 원천적으로 막을 수 없는 구조 문제와 같고, 패치하고나서 다른 문제가 생기는 것과 유사한 사례 같애요. 현상은 다르더라두요.
제가 말하는 핵심은 개인 정보 탈취, 메모리 인젝션, 다른 요청을 오픈소스 저장소에 날리기, 단체 보고인데요.
이와 복합적인 조건으로 소스코드의 방대함도 겹치는 것 같애요. 사용자 PC에서 실행된 것과 오픈소스 소스코드가 방대하고 방법적으로 여러 소스코드로 나누어져 있으면 해킹이라고 발견해내기가 애매하게 되죠. 시간이 지나서 발견되구요.
이런 해킹 방법이 전수되는 경우가 있는 것 같구요. 악성코드가 쓰여도 악성코드를 감지한 안티바이러스가 커버못하는 기술이 남아있다거나, 악성코드 없어도 접속이 되게 하는 기술력이 있는 경우, 악성코드가 삭제되면 보통 방심하게 되는 심리도 이용되는 것 같애요. (이를 응용하면 해킹후 업데이트 설치해주기와 같이 변용되기도 합니다)
이런 해킹 방법을 툴써서 확인은 못했는데, 강하게 이런 방법이 쓰인 것이 의심되는 경우가 있어요.
개발자가 메모리 덤프 확인을 했다고 해도 메모리 인젝션된 것이 발견이 안되게 교묘하게 인젝션이 되면 위에 언급한 오픈소스 특성과 맞물려서 해킹이 되는 것 같애요.
이 글 전에 쓴 글이 이해가 더 쉬운데, 몇대목에서 해킹 주체를 헷갈리게 써놔서 다시 씁니다 ^^