9. Security Considerations
Last updated
Last updated
μ΄ μΉμ μ κ°λ°μ, μ 보 μ 곡μμκ² μ 보λ₯Ό μ 곡νκΈ° μν κ²μ΄λ€. HTTP λ©μμ§μ κ΄λ ¨λ μλ €μ§ λ³΄μ κ³ λ €μ¬ν μ¬μ©μ ꡬ문, ꡬ문 λΆμ λ° λΌμ°ν . HTTPμ λν 보μ κ³ λ € μ¬ν μλ―Έλ‘ λ° νμ΄λ‘λλ [RFC7231]μμ λ€λ£¨μλ€.
HTTPλ κΆμ μλ μλ΅μ κ°λ μ μμ‘΄νλ€. 곡μ μΊμμ κ°μ΄ κΆν μλ μμ€μ μλ΅μ μ 곡νλ κ²μ μ±λ₯κ³Ό κ°μ©μ±μ ν₯μμν€λ λ° μ μ©νμ§λ§, μμ€κ° μ λ’°ν μ μκ±°λ μ λ’°ν μ μλ μλ΅μ μμ νκ² μ¬μ©ν μ μλ λ²μκΉμ§λ§ μ μ©νλ€.
DNS 보μ νμ₯(DNSSEC, [RFC4033])μ μ λ’°μ±μ ν₯μμν€λ ν κ°μ§ λ°©λ²μ΄λ€.
"https" scheme(Section 2.7.2)μ νμλ TLS 컀λ₯μ μ΄ λ³΄μλκ³ ν΅μ μλ²μ IDκ° λμ URIμ κΆν κ΅¬μ± μμμ μΌμΉνλμ§ ν΄λΌμ΄μΈνΈκ° μ μ νκ² κ²μ¦νλ κ²½μ°, κΆν ν립μ λν μ΄λ¬ν μ μ¬μ 곡격μ μλΉμλ₯Ό λ°©μ§ν μ μλ€.
μ¬μ©μλ€μ μ€κ°μλ€μ΄ μ€κ°μλ₯Ό μ΄μνλ μ¬λλ€λ³΄λ€ λ μ λ’°ν μ μλ€λ κ²μ μμμΌ νλ€; HTTP μ체λ μ΄ λ¬Έμ λ₯Ό ν΄κ²°ν μ μλ€.
HTTPλ λλΆλΆ ν μ€νΈ, λ¬Έμ κ΅¬λΆ νλλ₯Ό μ¬μ©νκΈ° λλ¬Έμ, νμλ€μ μ’ μ’ λ§€μ° κΈ΄(λλ λ§€μ° λλ¦°) λ°μ΄ν° μ€νΈλ¦Όμ μ μ‘νλ κ²μ κΈ°λ°ν 곡격μ μ·¨μ½νλ€.
μμ μλ μμ² λ©μλ, μλ΅ μν ꡬ문, ν€λ νλ μ΄λ¦, μ«μ κ° λ° λ³Έλ¬Έ μ²ν¬λ₯Ό ν¬ν¨ν κΈ°ν νλ‘ν μ½ μμλ₯Ό μ²λ¦¬νλ λ²μλ₯Ό μ μ€νκ² μ νν΄μΌ νλ€. μ΄λ¬ν μ²λ¦¬λ₯Ό μ ννμ§ μμ κ²½ μ° λ²νΌ μ€λ²νλ‘, μ°μ μ€λ²νλ‘ λλ denial-of-service 곡격μ λν μ·¨μ½μ±μ΄ μ¦κ°ν μ μλ€.
Response splitting (a.k.a, CRLF injection)μ HTTP λ©μμ§ νλ μμ line-based νΉμ±κ³Ό μμμ 컀λ₯μ μ λν μλ΅μ λν μμ²μ μμ 컀λ₯μ μ μ΄μ©νλ μΉ μ¬μ©μ λν λ€μν 곡격μ μ¬μ©λλ μΌλ°μ μΈ κΈ°μ μ΄λ€[Klein].
Request smuggling([Linhart])μ λ€μν μμ μ κ°μ νλ‘ν μ½ κ΅¬λ¬Έ λΆμμ μ°¨μ΄λ₯Ό μ΄μ©νμ¬ κ² μΌλ‘ 보기μλ 무ν΄ν μμ² λ΄μμ μΆκ° μμ²(λ€λ₯Έ κ²½μ° μ μ± μ μν΄ μ°¨λ¨λκ±°λ λΉνμ±νλ μ μμ)μ μ¨κΈ°λ κΈ°μ μ΄λ€.
HTTPλ λ©μμ§ κΈ°λ°μ±μ΄ νμν λ λ©μμ§ κΈ°λ°μ±μ μ 곡νκΈ° μν΄ κΈ°λ³Έμ μΈ μ μ‘ νλ‘ν μ½μ μμ‘΄νλ€.
HTTP λ‘κ·Έ μ 보λ λ³Έμ§μ μΌλ‘ κΈ°λ°μ΄λ©°, μ·¨κΈμ μ’ μ’ λ²κ³Ό κ·μ μ μν΄ μ νλλ€. λ‘κ·Έ μ 보 λ₯Ό μμ νκ² μ μ₯νκ³ λΆμμ μν΄ μ μ ν μ§μΉ¨μ λ°λΌμΌ νλ€.