Luciano Bello는 우연히 CVE-2008-0166 취약점을 발견했는데, 당시 IRC 로그에 따르면 많은 소수가 필요했고 매번 같은 숫자를 얻은 것은 아니었음
업계 전반적으로 운이 좋았던 것 같은데, 적시에 큰 차이를 만들 수 있는 기술과 시간, 에너지를 가진 사람이 있었기 때문임. 이는 "많은 눈"과 "햇볕이 소독제"라는 통계가 실감나는 대목임. 누군가 우연히 버그를 발견할 확률이 아무리 낮더라도, 사람들은 그럴 수 있기에 발견하게 됨. 반면 사유/폐쇄형 코드에서는 그 확률이 0임
이 취약점을 초래한 변경사항은 급하게 이뤄진 것이 아니었음. 관리자가 OpenSSL 메일링 리스트에서 문제를 제기하고, 피드백을 요청하며 해결책을 제안했고, 업스트림을 포함해 일부 피드백을 받았음. 결과는 끔찍한 취약점이었지만, 모두가 문제를 발견하지 못한 엄청나게 불행한 사례로 보임
GitHub이 MySQL 데이터베이스에서 키 지문으로 색인된 키를 조회하도록 OpenSSH를 패치하는 것이 최선의 옵션이라고 결론 내림. ~/.ssh/authorized_keys에 대한 액세스 속도를 높이려 한 상황에서 MySQL이 빛을 발할 수 있는 종류의 상황이었기에 SQLite 대신 선택한 것으로 보임
이는 인기 있는 비트코인 하드웨어 지갑의 시드 생성 함수에서 이런 일이 일어날 가능성과 그 여파에 대해 생각해보게 함
GCD를 사용하여 공통 'p' 또는 'q' 인수가 있는 RSA 키 감지도 흥미로운 에피소드였음
SSH 로그인 시간이 느린 것이 이런저런 이유로 잡아당길 만한 가치가 있는 실마리임을 볼 수 있음
OpenSSL RNG는 초기화되지 않은 스택 메모리와 PID로 시드되었는데, Debian 패치가 없더라도 PID만으로 시드하는 것 자체가 이미 상당히 위험했던 것으로 보임
GitHub이 여전히 패치된 OpenSSH를 실행 중인지 궁금함
Ezra Zygmuntowicz가 GitHub을 필자에게 소개해주고, GitHub 팀과 함께 문제를 파고들 시간을 줬다는 문장이 재미있음. GitHub 팀 자체에 큰 문제가 있는 것처럼 읽히기 때문일 수도 있음
Luciano가 발견하지 않았다면 얼마나 더 오랫동안 발견되지 않았을지 궁금함. GitHub이나 대형 클라우드 제공업체 같이 사용자로부터 수천 개의 키를 저장하는 몇 안 되는 곳만이 우연히 발견했을 것으로 생각됨