나는 CERT 안전한 코딩 이니셔티브(CERT Secure Coding Initiative)의 열렬한 지지자다. 프로그래머는 정확성, 명확성, 유지보수성, 성능, 심지어 안정성에 관해서도 여러 방법으로 조언을 구할 수 있다. 하지만 특정 언어의 특징이 보안에 미치는 영향은 다루고 있지 않다. 이 책 『버그 없는 안전한 소프트웨어를 위한 CERT® C 프로그래밍』이야말로 바로 이러한 요구를 충족시켜주는 책이다.
랜디 마이어스 (ANSIC 회장)
수 년 간 우리는 CERT/CC를 통해 수없이 많은 보안 문제 대한 조언을 문서로 출간할 수 있었다. 이제 CERT는 최고 기술 전문가들의 제언을 책에 수록해 새로운 애플리케이션에서 발생할 수 있는 문제를 예방하고 기존 시스템을 안전하게 유지하도록 프로그래머와 매니저에게 실용적 길잡이 역할을 해준다.
토머스 플럼 (플럼홀 사 창시자)
이 책은 오늘날의 소프트웨어 시스템이 실제 상황에서 어떻게 실패하는지를 정확히 설명해주며, 우리에게 꼭 필요한 전문 정보의 모음이다. 내부적으로 안전한 코딩 가이드라인을 구축하기 위한 시작 단계로 이 책을 먼저 읽어보자. 다른 어떤 곳에서도 이런 정보를 얻을 수 없으며, 소프트웨어 보안 영역에서는 무지했던 부분이 종종 우리를 괴롭히는 결과로 드러난다.
존 맥도널드 (『소프트웨어 보안 평가의 기술(The Art of Software Security Assessment)』의 공저자)
C를 처음 배웠을 때부터 지금까지 생산했던, 혹은 누가 작성했는지 모르지만 유지 보수해야 했던 C 프로그램들을 추억하며 이 책을 읽었습니다. 아무래도 표준에 관한 책이어서, 술술 단번에 읽히진 않았습니다. 그래도, 코드를 애초에 잘 작성했다면 밤에 꿈에서까지 디버깅을 하지 않아도 됐을 텐데 하고 탄식했던 나날이 많았던지라, 책에서 나열한 문제 상황과 지침에 대해 공감하며 읽을 수 있었습니다.
현대 개발자 사회에서는 '안전함'보다는 '눈에 보이는 결과'나 '신속히' 보여주는 쪽을 중시하는 경향이 많습니다. 하지만 프로그래머의 행복을 위해서라도 안전한 코딩 습관은 스스로 익혀 두는 것이 좋지 않을까요? 한 번 읽고 치워두기보다는, 짬짬이 에세이 읽듯 예제를 즐기며, 자기 코드 반성의 시간을 가져보게 할 만한 책입니다.
박소영 ((주)NHN 검색엔진팀)
안전하지 못하게 작성된 코드는 악의적인 해커들의 공격 대상이고 정상적인 시스템 동작이 방해되며, 심지어 시스템에 침투하여 파괴당할 수도 있다. DDoS, 바이러스, 해킹 등은 사회적으로도 큰 문제이며, 이는 보안을 고려하지 않거나 잘못 작성한 코드가 원인이 된다. 내가 만든 소프트웨어가 보안에 취약해 문제가 발생한다면, 시스템 자체 오동작으로 인해 비용 문제로까지 이어질 수 있다.
이렇듯이 소프트웨어 보안에 대한 이슈는 항상 중요시되고 있으며, 최근에는 하드웨어적으로도 안전한 시스템 동작을 위해 CPU에서도 특정 메모리 영역에 접근을 금지하는 메모리 보호 기능도 지원하고 있다. 초보 개발자를 벗어나 좀 더 안전한 프로그래밍 코드를 작성할 수 있는 중고급 개발자로 업그레이드 하고 싶다면 이 책을 한번 읽어보기를 추천한다~!
전희재 ((주)NHN 통합검색플랫폼팀)
C 언어 입문자를 위한 책은 많지만, 정작 C에 익숙해진 후 중고급 개발자가 되기 위해 참조할 수 있는 책은 많지 않은 것이 현실이다. 때문에 C로 상당 기간 개발해온 경력자들조차도 털어 보면 결함이 우수수 떨어지는 코드를 작성하곤 한다.
책 내용의 상당수가 철없던 시절 아무도 알려 주는 사람이 없어 몸으로 부딪히며 깨달았던 사실이라 책을 읽으며 가슴에 사무치는 추억을 되살리기도 했다.
한 달에 한 번 발생하는 에러를 잡기 위해 밤새 디버거를 부여잡고 있거나, 찜찜한 기분을 근거로 결함을 찾기 위해 코드와 싸우는 일도 나중에 생각해 보면 즐거운 추억(?)이 되겠지만, 이 책에서 제시하는 기준들을 익히고 실천한다면 그 중 상당수는 미리 비켜갈 수 있을 것이라고 생각한다. 힘써 정독한다면 투자한 이상으로 되돌려 받을 수 있을 것이다.
전영훈 ((주)NHN 통합검색플랫폼팀)