본문 바로가기
반응형

전체 글188

NBA 트레이드 루머 : 디안드레 조던의 트레이드는 셀틱스? 랩터스? 디안드레 조던은 2월 NBA 트레이드 마감시한 전에 트레이드 될 가능성이 가장 높은 NBA선수로, 클리퍼스는 이미 그들의 프랜차이즈 스타를 떠나보낼 준비가 된 것으로 보인다. 올 봄 디안드레 조던의 수혜를 입게 될 두개의 동부 컨퍼런스 경쟁자들은 셀틱스와 랩터스이고 이 두 팀은 앞으로 두달 동안 치열한 경쟁을 벌일 것으로 예상된다. 1. 가장 가능성 높은 후보로 거론되고 있는 팀은 셀틱스. 보도에 따르면, 클리퍼스는 디안드레 조던을 주고 2017 NBA드래프트 3순위 지명권을 받는 트레이드를 셀틱스에 제안한적이 있었고 셀틱스는 이를 거절했었다. 당시 이 제안을 거절했던 가장 큰 이유는 셀틱스가 고든 헤이워드를 영입하기 위한 충분한 자금을 확보하려 했을 가능성이 높다. 셀틱스는 올 시즌 견고한 리바운드를 .. 2017. 12. 13.
시큐어코딩(28) - Missing Authentication for Critical Function 1. 정의 적절한 인증 없는 중요기능 허용 (Missing Authentication for Critical Function) 적절한 인증과정이 없이 중요정보(계좌이체 정보, 개인정보 등)를 열람(또는 변경)할 때 발생하는 보안약점이다. 2. 해결방법 - 클라이언트의 보안검사를 우회하여 서버에 접근하지 못하도록 한다. - 중요한 정보가 있는 페이지는 재인증이 적용되도록 설계하여야 한다.(은행 계좌이체 등)- 안전하다고 확인된 라이브러리나 프레임워크를 사용한다. 즉 OpenSSL 이나 ESAPI 의 보안 기능을 사용한다. 3. 예제 ========================== 안전하지 않은 코드의 예 ========================== public void sendBankAccount(St.. 2017. 12. 1.
시큐어코딩(27) - Reliance on Untrusted Inputs in a Security Decision 1. 정의 보안결정을 신뢰할 수 없는 입력 값에 의존 (Reliance on Untrusted Inputs in a Security Decision) 응용프로그램이 외부 입력값에 대한 신뢰를 전제로 보호메커니즘을 사용하는 경우 공격자가 입력값을 조작할 수 있다면 보호메커니즘을 우회할 수 있게 된다. 개발자들이 흔히 쿠키, 환경변수 또는 히든필드와 같은 입력값이 조작될 수 없다고 가정하지만 공격자는 다양한 방법을 통해 이러한 입력값들을 변경할 수 있고 조작된 내용은 탐지되지 않을 수 있다. 인증이나 인가와 같은 보안결정이 이런 입력값(쿠키, 환경변수, 히든필드 등)에 의해 수행되는 경우 공격자는 이런 입력값을 조작하여 응용프로그램의 보안을 우회할 수 있으므로 충분한 암호화, 무결성 체크를 수행하거나 이러한.. 2017. 11. 24.
시큐어코딩(26) - SQL Injection: Hibernate 1. 정의 SQL 삽입공격 : Hibernate(SQL Injection: Hibernate) 외부의 신뢰할 수 없는 입력을 적절한 검사 과정을 거치지 않고 Hibernate API의 SQL 질의문 생성을 위한 문자열로 사용하면, 공격자가 프로그래머가 의도하지 않았던 문자열을 전달함으로써 질의문의 의미를 왜곡시키거나 그 구조를 변경하여 임의의 데이터베이스 명령어가 수행되도록 할 수 있다. 2. 해결방법 - 질의문의 생성 시 상수 문자열만 사용한다. 외부의 입력에 따라 질의문을 수정해야 한다면 인자를 받는 질의문을 상수 문자열로 생성한 후, 쿼리의 인자값을 setParameter(),set() 등의 메소드를 사용하여 설정한다. 3. 예제 ========================== 안전하지 않은 코드의.. 2017. 11. 23.
시큐어코딩(25) - Download of Code Without Integrity Check 1. 정의 무결성 점검 없는 코드 다운로드 (Download of Code Without Integrity Check) 원격으로부터 소스 코드 또는 실행파일을 무결성 검사 없이 다운로드 받고 이를 실행하는 제품들이 종종 존재한다. 이는 host server의 변조, DNS spoofing 또는 전송시의 코드 변조 등의 방법을 이용하여 공격자가 악의적인 코드를 실행할 수 있도록 한다. 2. 해결방법 - SW의 자동 업데이트와 같이 다운로드 될 코드를 제공할 떄는 코드에 대한 암호화된 시그니처를 사용하고 클라이언트가 시그니처를 검증하도록 한다. 3. 예제 ========================== 안전하지 않은 코드의 예 ========================== URL[] classURLs= n.. 2017. 11. 23.
시큐어코딩(24) - Unsafe Reflection 1. 정의 안전하지 않은 리플렉션 (Use of Externally-Controlled Input to Select Classes or Code, Unsafe Reflection) 동적 클래스 적재(loading)에 외부의 검증되지 않은 입력을 사용할 경우, 공격자가 외부 입력을 변조하여 의도하지 않은 클래스가 적대되도록 할 수 있다. 2. 해결방법 - 외부의 입력을 직접 클래스 이름으로 사용하지 말고, 외부의 입력에 따리 미리 정한 후보(white list) 중에서 적절한 클래스 이름을 선택하도록 한다. 3. 예제 ========================== 안전하지 않은 코드의 예 ========================== public void workType(){Properties prop.. 2017. 11. 23.
시큐어코딩(23) - Process Control 1. 정의 프로세스 제어 (Process Control) 신뢰되지 않은 소스나 신뢰되지 않은 환경으로부터 라이브러리를 적재하거나 명령을 실행하면, 악의적인 코드가 실행될 수 있다. 2. 해결방법 - 프로그램 내에서 라이브러리를 적재할 때 절대 경로를 사용한다. 3. 예제 ========================== 안전하지 않은 코드의 예 ========================== public void loadLibrary() throws SecurityException, UnsatisfiedLinkError, NullPointerException{// 외부 라이브러리를 호출 시 절대 경로가 들어 있지 않다.Runtime.getRuntime().loadLibrary("libraryName");}.. 2017. 11. 23.
시큐어코딩(22) - Improper Neutralization of Script-Related HTML Tags in a Web Page , DOM 1. 정의 크로스 사이트 스크립트 공격 취약점: DOM (Improper Neutralization of Script-Related HTML Tags in a Web Page , DOM) 외부에서 입력되는 스크립트 문자열이 웹 페이지 생성에 사용되면 생성된 웹 페이지를 열람하는 사용자에게 피해를 입힐 수 있다. 2. 해결방법 - JSP의 document.write() 메소드와 같이 JSP의 DOM 객체 출력을 수행하는 메소드의 인자값으로 외부의 입력을 사용할 경우 위험한 문자를 제거하는 과정이 수행되어야 한다. - 보안성이 검증되어 있는 API를 사용하여 위험한 문자열을 제거하여야 한다. 3. 예제 ========================== 안전하지 않은 코드의 예 ==================.. 2017. 11. 22.
시큐어코딩(21) - Eval Injection 1. 정의 동적으로 생성되어 수행되는 명령어 삽입 (Improper Neutralization of Directives in Dynamically Evaluated Code, Eval Injection) 신뢰할 수 없는 외부 입력이 적절한 검사과정을 거치지 않고 동적으로 수행되는 스크립트 또는 프로그램 명령어 문자열의 생성에 사용될 경우 의도했던 형태의 입력만 사용되도록 적절히 필터링해야 한다. 그렇지 않으면, 외부의 입력이 명령어로 사용되어 공격자는 원하는 임의의 작업을 수행할 수 있다. 2. 해결방법 - 외부의 입력이 eval() 함수의 인자로 사용될 경우 외부에서 입력되는 JavaScript가 수행되지 않도록 위험문자를 제거해야 한다. - ESAPI for Javascript 등의 보안성 있는 AP.. 2017. 11. 22.
반응형