JAVA GÜVENLİ KODLAMA EĞİTİMİ

Eğitim Detayları

Süre:

2 gün

Kota:

10-12

Öngereklilikler:

Hiçbir öngereklilik yok.

Kayıt ol:

Eğitim Hakkında

Java platformunun temel tasarım hususlarından biri, farklı izin seviyelerinde kod çalıştırmak için sınırlı bir ortam sağlamaktır. Java kendi benzersiz güvenlik sorunlarıyla birlikte gelir. Bu eğitim programı, geliştiricilerin güvenli yazılımlar oluşturmasına yardımcı olmak içindir, ancak özellikle güvenlik özelliklerini uygulayan yazılıma odaklanmaz.

 

KATILIMCI NE ÖĞRENECEK?

 

  • Güvenlikle ilgili endişeleri önlemek için API’ler tasarlayın
  • Güvenilir sınırlar oluşturma konusunda deneyim sahibi olmun
  • Güvenilmeyen kodu yorumlarken nasıl dikkatli olunacağını öğrenin

 

GÜN 1

 

  •  Security

 

    •   Limit the lifetime of sensitive data 
    •   Do not store unencrypted sensitive information on the client 
    •   Provide sensitive mutable classes with unmodifiable wrappers 
    •   Ensure that security-sensitive methods are called with validated arguments 
    •   Prevent arbitrary file upload 
    •   Properly encode or escape output 
    •   Prevent code injection 
    •   Prevent XPath injection 
    •   Prevent LDAP injection 
    •   Do not use the clone() method to copy untrusted method parameters 
    •   Do not use Object.equals() to compare cryptographic keys

 

GÜN 2

 

  •   Defensive Programming

 

    •    Minimize the scope of variables 
    •    Minimize the scope of the @SuppressWarnings annotation 
    •    Minimize the accessibility of classes and their members 
    •    Document thread-safety and use annotations where applicable 
    •    Always provide feedback about the resulting value of a method 
    •    Identify files using multiple file attributes 
    •    Do not attach significance to the ordinal associated with an enum 
    •    Be aware of numeric promotion behavior 
    •    Enable compile-time type checking of variable arity parameter types 
    •    Do not apply public final to constants whose value might change in later releases 
    •    Avoid cyclic dependencies between packages 
    •    Prefer user-defined exceptions over more general exception types 
    •    Try to gracefully recover from system errors 
    •    Carefully design interfaces before releasing them 
    •    Write garbage collection–friendly code

 

HEDEF KİTLE

 

  • Yazılım Geliştiriciler