상세 컨텐츠

본문 제목

보안 HTTP 프로토콜 유효성 검증 20220811

보안

by MustThanks 2022. 8. 11. 22:10

본문

반응형

HTTP 프로토콜 유효성 검증

보안대책

-      외부 입력값을 쿠키 및 http헤더정보로 사용하는 경우 HTTP 응답분활 취약점을 가지지 않도록 필터일해서 사용해야 한다

-      외부 입력값이 페이지이동(리다이렉트 또는 포워드)을 위한 URL로 사용되어야 하는 경우 해당 값은 시스템에서 허용된 URL 목록의 선택자로 사용되도록 해야한다

 

HTTP 응답분활

-      공격자가 HTTP요청에 삽입한 인자 값이 HTTP응답헤더에 포함되어 사용자에게 다시 전달될 때 개행문자를

이용하여 첫 번째 응답을 종료시키고 두번째 응답에 악의적인 코드가 주입되어 XSS 공격이 가능해 진다

 

 

신뢰되지 않은 URL로 자동 접속 연결

-      사용자의 입력값을 외부 사이트의 주소로 사용하여 자동으로 연결하는 서버 프로그램에서는 공격자가 사용자를 피싱(Phishing)사이트 등 위험한 URL로 접속을 유도할 수 있게 된다

설계 시 고려 사항

-      외부 입력값을 쿠키 및 HTTP 헤더정보로 사용하는 경우, HTTP 응답분할 취약점을 가지지 않도록 필터링해서 사용해야 한다

\r\n 문자는 HTTP응답에서 헤더와 바디를 구분하는 구분자로 사용되기 때문에 HTTP 응답헤더에 삽입되는 외부 입력값은 반드시

\r\n문자를 제거하여 사용할 수 있도록 시큐어코딩 규칙을 정의한다

프로그램에서 Cookie설정 응답헤더 설정 페이지 리다이렉트를 위한 Location정보 삽입 등 응답헤더에 외부 입력값이 삽입되는 경우

HTTP 응답분할을 일으킬 수 있는 분자(\r\n)를 필터링하도록 검증절차를 적용한다

 

-      외부 입력값이 페이지이동(리다이렉트 또는 포워드)을 위한 URL로 사용되어야 하는 경우 해당 값은 시스템에서 허용된 URL목록의 선택자로 사용되도록 해야 한다

페이지 이동을 허용하는 URL목록을 소스코드에서 하드코딩하거나 설정 파일(XML,properties)에 저장하여 허용된 URL로만 이동할 수 있도록 설계한다

 

 

허용된 범위내 메모리 접근

보안 대책

-      C  C++같이 메모리를 프로그래머가 관리하는 플랫폼을 사용하는 경우 메모리 버퍼의 경계값을 넘어서 메모리를 읽거나 저장하지 않도록 경계설정 또는 검사를 수행해야한다

-      개발 시 메모리 버퍼오버플로우를 발생시킬 수 있는 취약한 API를 사용하지 않도록 해야 한다보안대책

-      외부 입력값을 쿠키 및 http헤더정보로 사용하는 경우 HTTP 응답분활 취약점을 가지지 않도록 필터일해서 사용해야 한다

-      외부 입력값이 페이지이동(리다이렉트 또는 포워드)을 위한 URL로 사용되어야 하는 경우 해당 값은 시스템에서 허용된 URL 목록의 선택자로 사용되도록 해야한다

 

HTTP 응답분활

-      공격자가 HTTP요청에 삽입한 인자 값이 HTTP응답헤더에 포함되어 사용자에게 다시 전달될 때 개행문자를

이용하여 첫 번째 응답을 종료시키고 두번째 응답에 악의적인 코드가 주입되어 XSS 공격이 가능해 진다

  

 

신뢰되지 않은 URL로 자동 접속 연결

-      사용자의 입력값을 외부 사이트의 주소로 사용하여 자동으로 연결하는 서버 프로그램에서는 공격자가 사용자를 피싱(Phishing)사이트 등 위험한 URL로 접속을 유도할 수 있게 된다

 

설계 시 고려 사항

-      외부 입력값을 쿠키 및 HTTP 헤더정보로 사용하는 경우, HTTP 응답분할 취약점을 가지지 않도록 필터링해서 사용해야 한다

\r\n 문자는 HTTP응답에서 헤더와 바디를 구분하는 구분자로 사용되기 때문에 HTTP 응답헤더에 삽입되는 외부 입력값은 반드시

\r\n문자를 제거하여 사용할 수 있도록 시큐어코딩 규칙을 정의한다

프로그램에서 Cookie설정 응답헤더 설정 페이지 리다이렉트를 위한 Location정보 삽입 등 응답헤더에 외부 입력값이 삽입되는 경우

HTTP 응답분할을 일으킬 수 있는 분자(\r\n)를 필터링하도록 검증절차를 적용한다

 

-      외부 입력값이 페이지이동(리다이렉트 또는 포워드)을 위한 URL로 사용되어야 하는 경우 해당 값은 시스템에서 허용된 URL목록의 선택자로 사용되도록 해야 한다

페이지 이동을 허용하는 URL목록을 소스코드에서 하드코딩하거나 설정 파일(XML,properties)에 저장하여 허용된 URL로만 이동할 수 있도록 설계한다

 

 

허용된 범위내 메모리 접근

보안 대책

-      C  C++같이 메모리를 프로그래머가 관리하는 플랫폼을 사용하는 경우 메모리 버퍼의 경계값을 넘어서 메모리를 읽거나 저장하지 않도록 경계설정 또는 검사를 수행해야한다

-      개발 시 메모리 버퍼오버플로우를 발생시킬 수 있는 취약한 API를 사용하지 않도록 해야 한다

관련글 더보기

댓글 영역