작성
·
171
0
안녕하세요.
표준 입출력 함수랑 그 동작 특성을 공부하다 보니까 사용자로부터 데이터 입력을 받는 프로그램의 경우 생각보다 런타임 오류가 발생할 수 있는 부분이 되게 많더라구요..
조금 애매한 질문일 수도 있고, 또 경우에 따라 다르겠지만.. 발생할 수 있는 입력 오류나 그것에 대한 예외처리를 어느정도 수준까지 신경써서 코드를 작성하는 게 좋을까요..?
당장 생각나는 건 버퍼 오버플로우나 입력 데이터의 범위 체크 정도인데..
제가 아직 오픈소스를 볼 만큼 공부가 된 것 같지는 않지만.. 참고할 만한 자료가 있을까요..?
감사합니다.
답변 1
1
안녕하세요 :)
멋진 고민을 하고 계시는군요!
음.. 사실,
"발생할 수 있는 입력 오류나 그것에 대한 예외처리를 어느정도 수준까지
신경써서 코드를 작성하는 게 좋을까요?"
라는 질문에 대해서는 가장 심혈을 기울이면 기울일 수록 좋고, 꼼꼼하면 꼼꼼할 수록 좋은 것 같습니다 :)
모든 상황을 완벽하게 대비한 프로그램이 완벽한 프로그램이라는 뜻이니까요.
하지만 참고할 만한 자료를 드리자면,
아무래도 시큐어코딩 쪽 자료를 드리는 게 나을 것 같아 아래 자료를 첨부해드립니다.
말씀하신 것처럼 소프트웨어 취약점, 버그는 사용자가 입력하는 값으로부터 발생하는 경우가 많습니다.
그런 일이 발생하지 않도록 안전하게 코딩하는 것을 시큐어코딩이라고 합니다.
하나는 한글 자료이고 다른 하나는 영어 자료입니다.
물론 지금 당장 아래에 있는 것들을 모두 다 달달 외우고 있어야 한다! 이건 아니지만
심심하실 때 배경지식삼아 읽어보셔도 좋을 듯 합니다 :)
[링크2] https://resources.sei.cmu.edu/asset_files/BookChapter/2005_009_001_52692.pdf
감사합니다.