Geri Dön

Development of a static analysis tool to find security vulnerabilities in java applications

Java uygulamalarında güvenliğe ilişkin zayıflıkların bulunmasına yönelik bir statik analizinin geliştirilmesi

  1. Tez No: 266623
  2. Yazar: BERTAN TOPUZ
  3. Danışmanlar: YRD. DOÇ. DR. TUĞKAN TUĞLULAR
  4. Tez Türü: Yüksek Lisans
  5. Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
  6. Anahtar Kelimeler: Belirtilmemiş.
  7. Yıl: 2010
  8. Dil: İngilizce
  9. Üniversite: İzmir Yüksek Teknoloji Enstitüsü
  10. Enstitü: Mühendislik ve Fen Bilimleri Enstitüsü
  11. Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
  12. Bilim Dalı: Belirtilmemiş.
  13. Sayfa Sayısı: 86

Özet

Bu tez java uygulamalarinda bulunan güvenlik sınırlamaları saptanmasına yönelik statik analiz araçlarını geliştirmeyi amaçlamaktadır. Bu amaçla, java kaynaklı kodlarla ilgili varolan açıkların ortadan kaldırılmasına katkıda bulunacaktır.FindBugs, Jlint, PMD, Checkstyle ve ESC/Java2 yaygın olarak kullanılan statik analiz araçlarıdır. Bu çalışmada, Possible bugs (olası hatalar), Dead code (kullanılmayan kod), Suboptimal code (yetersiz kod), Overcomplicated expressions (karmaşık ifadeler) ve Duplicate code (ikinci kod) gibi hataların saptanmasına yönelik geliştirilmiş olan PMD statik analiz aracının kullanımı amaçlanmaktadır. Buna karşılık PMD'nin faults possible unexpected exception (olası beklenmeyen kural dışı durum), length may be less than zero(yapı boyutu sıfırdan küçük olabilir), division by zero (sıfıra bölünme), stream not closed on all paths (I/O için açılan katarın kapatılmaması) gibi açıkları bulamadığı saptanmıştır.Bazı hatalı kodları saptamasının yanında PMD'nin bulmaya çalıştığı hataların çoğu, biçimsel hatalara dayanmaktadır. Örnek olarak, try catch yapısındaki boş catch bloğunu gösterebilmektedir. PMD, programlama stiline bağlı olarak birçok algılayıcı kural içermektedir ve bu kuralları isteğe göre seçebilme özelliğine sahiptir. PMD'nin ana yapısı korunarak taşma zayıflıkları için yeni kurallar geliştirilmiştir.

Özet (Çeviri)

The scope of this thesis is to enhance a static analysis tool in order to find security limitations in java applications. This will contribute to the removal of some of the existing limitations related with the lack of java source codes.The generally used tools for a static analysis are FindBugs, Jlint, PMD, ESC/Java2, Checkstyle. In this study, it is aimed to utilize PMD static analysis tool which already has been developed to find defects Possible bugs (empty try/catch/finally/switch statements), Dead code (unused local variables, parameters and private methods), Suboptimal code (wasteful String/StringBuffer usage), Overcomplicated expressions (unnecessary if statements for loops that could be while loops), Duplicate code (copied/pasted code means copied/pasted bugs). On the other hand, faults possible unexpected exception, length may be less than zero, division by zero, stream not closed on all paths and should be a static inner class cases were not implemented by PMD static analysis tool.PMD performs syntactic checks and dataflow analysis on program source code. In addition to some detection of clearly erroneous code, many of the ?bugs? PMD looks for are stylistic conventions whose violation might be suspicious under some circumstances. For example, having a try statement with an empty catch block might indicate that the caught error is incorrectly discarded. Because PMD includes many detectors for bugs that depend on programming style, PMD includes support for selecting which detectors or groups of detectors should be run. While PMD?s main structure was conserved, boundary overflow vulnerability rules have been implemented to PMD.

Benzer Tezler

  1. Yazılım güvenliği test ve değerlendirme aracı geliştirilmesi

    Development of software security testing and evaluation

    GÜNCEL SARIMAN

    Doktora

    Türkçe

    Türkçe

    2015

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolSüleyman Demirel Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DOÇ. DR. ECİR UĞUR KÜÇÜKSİLLE

  2. The impact of static analysis tools on software quality, productivity and cost

    Statik analiz araçlarının yazılım kalitesine, üretkenliğe ve maliyet üzerine etkisi

    MEHMET YILDIZ

    Yüksek Lisans

    İngilizce

    İngilizce

    2019

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolDoğuş Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ YASEMİN KARAGÜL

  3. Tarihi kentsel peyzaj yaklaşımı ile doğal ve tarihi çevre değişiminin ölçümü için bir model önerisi: İstanbul Boğaziçi sit alanı örneği

    A model proposal for the measurement of natural and historical environment change with the historic urban landscape approach: The case of Istanbul Bosporus site

    AYŞEN BALİN KOYUNOĞLU

    Doktora

    Türkçe

    Türkçe

    2023

    Şehircilik ve Bölge Planlamaİstanbul Teknik Üniversitesi

    Şehir ve Bölge Planlama Ana Bilim Dalı

    PROF. DR. NURAN ZEREN GÜLERSOY

  4. Banking structure and bank firm affiliation: The case of Turkey

    Banka yapılanmaları ve banka firma ilişkileri: Türkiye örneği

    CEM BAYÜLGEN

    Doktora

    İngilizce

    İngilizce

    2005

    FelsefeBoğaziçi Üniversitesi

    Felsefe Ana Bilim Dalı

    PROF.DR. ÖZER ERTUNA

  5. Sincap kafesli asenkron makinenin rotor alan yönlendirmeli kontrolü

    Rotor field-orientation control of a squirrel cage induction machine

    SAFFET ALTAY

    Yüksek Lisans

    Türkçe

    Türkçe

    1995

    Elektrik ve Elektronik Mühendisliğiİstanbul Teknik Üniversitesi

    PROF.DR. M. EMİN TACER