Programinio kodo saugumas
|
|
- Coral Griffith
- 5 years ago
- Views:
Transcription
1 Programinio kodo saugumas Rolandas Griškevičius MSN: R. Griškevičius, Saugus programavimas, VGTU,
2 Kodo malėjas A code grinder as defined by the hacker community reference, the Jargon Dictionary ( is a developer who lacks creativity and is bound by rules and primitive techniques. Developers who become code grinders rarely do so because of lack of ambition; code grinders are born from an environment that struggles with freedom at a developer level. Dažnai yra blogo kodo šaltinis R. Griškevičius, Saugus programavimas, VGTU,
3 Assert / Trace Many compilers offer an assert() macro. The assert() macro returns TRUE if its parameter evaluates TRUE and takes some kind of action if it evaluates FALSE. Many compilers will abort the program on an assert() that fails; others will throw an exception One powerful feature of the assert() macro is that the preprocessor collapses it into no code at all if DEBUG is not defined. It is a great help during development, and when the final product ships there is no performance penalty nor increase in the size of the executable version of the program. TRACE makrosas = IF ( DEBUG ) THEN PRINTF (...) R. Griškevičius, Saugus programavimas, VGTU,
4 Assert 2 1: //ASSERTS 2: #define DEBUG 3: #include <iostream.h> 4: 5: #ifndef DEBUG 6: #define ASSERT(x) 7: #else 8: #define ASSERT(x) \ 9: if (! (x)) \ 10: { \ 11: cout << "ERROR!! Assert " << #x << " failed\n"; \ 12: cout << " on line " << LINE << "\n"; \ 13: cout << " in file " << FILE << "\n"; \ 14: } 15: #endif 16: 17: 18: int main() 19: { 20: int x = 5; 21: cout << "First assert: \n"; 22: ASSERT(x==5); 23: cout << "\nsecond assert: \n"; 24: ASSERT(x!= 5); 25: cout << "\ndone.\n"; 26: return 0; 27: } R. Griškevičius, Saugus programavimas, VGTU,
5 Exception Galingas klaidų apdorojimo mechanizmas Pagrindinė išimčių programavimo klaida netvarkingas gaudymas Išimtys turi būti pagaunamos kuo arčiau galimos jų generavimo vietos: Stabilesnis programos veikimas Pilna informacija apie klaidą GPF klaidas taip pat galima gaudyti, bet reikia specialiai programoje pakeisti standartinių išimčių gaudyklę API SetUnhandledExceptionFilter R. Griškevičius, Saugus programavimas, VGTU,
6 Kodo maskavimas angl. literatūroje - obfuscation Ypatingai daug yra PHP Google php obfuscator Mokamas: ZendGuard Nemokami google R. Griškevičius, Saugus programavimas, VGTU,
7 Primityvi php obfuskacija eval( gzuncompress( base64_decode( 'enplj1dvwjaahp9mpngicgcqekv5yg/mxi9vhjmgczsd+puftworvxdpp7tpo g4jhpblyptsjcsawxh/bqjpbr4avrbgbntrhh4x34aet3iguj+picjjgca/weg 6Co0X8Xtp+s8icdI4o4QxYFuMqMqHS5zUJYDlNKfAo8Ry/yJkVYMCfx90rWevc z1n4uno02qjw3yvygonb/nxujj3pfvih+xj1hcl3v6pqoaq5zpl0xrwupqwgzi8 wlc73v5/mbynj9pzfigxq/vmu9sfjqezztsu8fwgvfyjoemzg2v5uvb3xxojkq w01zam1xo8hnagprwb30pq+ataxf8l' ))); R. Griškevičius, Saugus programavimas, VGTU,
8 Kintamujų inicializacija Kalbose, kur kintamieji yra polimorfiniai, ir reikšmės priskyrimas inicializuoja kintamąjį, pvz. php, vbs, python, dažnai galima sutikti kodą: $param1 = ""; if(... ) $param1 = "a" else $param1 = "b"; Tačiau suteikiant default reikšmę kintamajam iš karto sutrumpėja kodas ir padidėja aiškumas: $param1 = "b"; if(... ) $param1 = "a"; R. Griškevičius, Saugus programavimas, VGTU,
9 All input is evil Taikoma visur, kur tik sutinkami įvesties duomenys: WWW puslapiai SQL injekcija, XSS ir t.t. Įvairūs GUI Mažiau pavojinga, jei vartotojas dirba su lokalia sistema Jei GUI yra nutolusios sistemos interfeisas, galioja taisyklės, panašios į WWW aplikacijų saugumo Parametriniai ir duomenų failai Tikrinti, ar vartotojas negali pakišti savo perdaryto failo Parametruose apriboti vartotojui keisti kritines parametrų sekcijas Parametrai su nuoroda į failus Tikrinti failo tipą: Windows pagal plėtinį, Unix file komanda Tiktai santykinės nuorodos į failus! R. Griškevičius, Saugus programavimas, VGTU,
10 Koks bus rezultatas? #include <stdio.h> int main( int argc, char** argv ) { int i = 0; int j = 0; int k = 0; } for( i = 0; i < 10; i++ ) j++, k++; printf( "j=%d k=%d\n", j, k ); R. Griškevičius, Saugus programavimas, VGTU,
11 C kablelis C kablelis yra dažnai užmirštamas, todėl kartais gali būti naudojamas savotiškai kodo obfuskacijai. Kodas dešinėje suveikia nelauktai : #include <stdio.h> int main( int argc, char** argv ) { int i = 0; int j = 0; int k = 0; } for( i = 0; i < 10; i++ ) j++, k++; printf( "j=%d k=%d\n", j, k ); mygentoo> /tmp $ gcc test_comma.c -o test_comma mygentoo> /tmp $./test_comma j=10 k=10 mygentoo /tmp $ R. Griškevičius, Saugus programavimas, VGTU,
12 C ir C++ smulkmenos Neinicializuota C nuoroda potenciali skylė Operatorius new: new delete new[] delete[] pt = new myclass[3]; delete[] pt; R. Griškevičius, Saugus programavimas, VGTU,
13 Html validacija Siekiant, kad puslapis atrodytų švarus ir kultūringas, patartina jo kodą validuoti, pvz Validavimas taip pat gali padėti pamatyti klaidas ten kur html tag'ai yra generuojami programiniu būdu, t.y. programos kode. Prieš validuojant reikia prisiminti, kad kai kurie html tag'ai yra laikomi pasenusiais ir validatorius jiems meta klaidą: align, alink, background, bgcolor, color, hspace, link, size, text, type, vlink, vspace visi šie keičiami į CSS parametrus R. Griškevičius, Saugus programavimas, VGTU,
14 Kodo auditas Rankinis Gali identifikuoti klaidas/pažeidžiamumus, kurių neidentifikuos automatinės priemonės Tačiau reikalingas patyręs auditorius Penetration testing Sistemos streso testas simuliuojant piktavališką veikimą Metodika varijuoja nuo pilnai juodos dėžės iki baltos dėžės principo. Ypatingai tinka WEB aplikacijoms, kadangi http protokolas yra lengvai simuliuojamas Automatinė (statinė) kodo analizė Daug įvairių įrankių Vienas ar kitas įrankis veikia tik tam tikroms prg. kalboms R. Griškevičius, Saugus programavimas, VGTU,
15 Automatinio kodo audito įrankiai 1 RATS (Rough Auditing Tool for Security) / C++, PHP, Python, Ruby, C#, ColdFusion, Java, JSP, PL/SQL, T-SQL, XML, VB.NET Windows, *nix Mokamas, daugiau nei 1K$ už licenziją Yasca Atviras kodas (BSD licenzija) Windows, *nix PHP variklis C++, Java,.NET, ASP, Perl, PHP, Python, Cobol, etc Turi savo varikliukus, kitais atvejais pasijungia išorinius, pvz. Java atveju pasijungia sau JLint R. Griškevičius, Saugus programavimas, VGTU,
16 Automatinio kodo audito įrankiai 2 Cppcheck cppcheck.wiki.sourceforge.net Atminties nutekėjimai (memory leak), buferio perpildymas, senos funkcijos ir t.t. GUI priklausomas nuo QT interfeiso graudit elementarus tikrinimo scenarijus pasitelkiant bash, grep, sed GUI nėra Atviras kodas, Windows, *nix asp, jsp, perl, php, python R. Griškevičius, Saugus programavimas, VGTU,
17 SWAAT Automatinio kodo audito įrankiai 3 XML išvestis Pagal nutylėjimą turi bazes Python, Perl, PHP, C++ Bazės nuolat pildomos Atviras kodas, Unix aplinkose veikia su Mono, kadangi parašyta C# PHP bug scanner raz0r.name/releases/php-bug-scanner Laisvas naudojimas, Windows Rusų chakerių kūrinys, instrukcijos, puslapis rusiški R. Griškevičius, Saugus programavimas, VGTU,
18 Pixy Automatinio kodo audito įrankiai 4 pixybox.seclab.tuwien.ac.at Laisvas naudojimas, Unix, Windows Veikimas skiriasi nuo analogų: kuriamas duomenų srautų grafas ir sekami duomenų srautai. Skirtas daugiausia XSS ir SQL injekcijos aptikimui Grafai pateikiami vaizdžiai Klockwork Insight Shareware, Windows C, C++, Java, C# (beta) Integruojasi su VS ir Eclipse C++, C#, Java R. Griškevičius, Saugus programavimas, VGTU,
19 Automatinio kodo audito įrankiai 5 Coverity Prevent Static Analysis Shareware, Windows C, C++, Java, C# Vienas populiariausių ir plačiausiai žinomų Integracija su gcc ir MS kompiliatoriais ir aplinkomis Eclipse, VS OWASP Code Crawler Java Pilnas pažeidžiamumo aprašymas R. Griškevičius, Saugus programavimas, VGTU,
20 Automatinio kodo audito įrankiai 6 Grendel Scan Juodos dėžės WEB skaneris, penetration test įrankis, fuzz testavimo įrankis Veikia Java 5 aplinkoje Windows, *nix Vidinis proxy http srauto kontrolei http fuzz eris paslėptų katalogų paieška, duomenų apie nutolusią sistemą surinkimo modulis CSRF skaneris R. Griškevičius, Saugus programavimas, VGTU,
21 Kai reikia įrodinėti pažeidžiamumą Metasploit Framework Pagalba: Metasploit pagalbiniai aprašymai (tutorials) ir video medžiaga: R. Griškevičius, Saugus programavimas, VGTU,
WWW aplikacijų saugumas 2
WWW aplikacijų saugumas 2 Rolandas Griškevičius rolandas.griskevicius@fm.vgtu.lt MSN: rgrisha@hotmail.com http://fmf.vgtu.lt/~rgriskevicius 2010-11-26 R. Griškevičius, Saugus programavimas, VGTU, 2009
More informationCome to the TypeScript
Come to the TypeScript we have type hinting! Sergej Kurakin Sergej Kurakin Amžius: 36 Dirbu: NFQ Technologies Pareigos: Programuotojas Programuoti pradėjau mokytis 1996 metais. Programuotoju dirbu nuo
More informationBuferio perpildymo klaida Įvadas, techniniai klausimai
Buferio perpildymo klaida Įvadas, techniniai klausimai Rolandas Griškevičius rolandas.griskevicius@fm.vgtu.lt MSN: rgrisha@hotmail.com http://fmf.vgtu.lt/~rgriskevicius 2009-10-16 R. Griškevičius, Saugus
More informationKas yra masyvas? Skaičių masyvo A reikšmės: Elementų indeksai (numeriai): Užrašymas Turbo Paskaliu: A[1] A[2] A[3] A[4] A[5]
Masyvas 2013 1 Vienmatis masyvas Veiksmai su masyvo elementais: reikšmių priskyrimas ir išvedimas, paieška, rikiavimas. Masyvų perdavimas procedūros (funkcijos) parametrais. 2 Kas yra masyvas? Masyvu vadinamas
More informationC programavimo kalba. 3 paskaita (Sąlygos ir ciklo operatoriai, funkcija scanf() )
C programavimo kalba 3 paskaita (Sąlygos ir ciklo operatoriai, funkcija scanf() ) Sąlygos operatorius if - else Sąlygos operatoriai skirti perduoti programos vykdymą vienai ar kitai programos šakai. Operatorius
More informationC++ programavimo kalba
C++ programavimo kalba Operatorių perkrovimas (7 paskaita) Operatorių perdengimas Programavimo kalbose naudojami operatoriai pasižymi polimorfizmu (daugiavariantiškumu). Kaip pavyzdys gali būti operatorius
More informationEl. pašto konfigūravimas
El. pašto konfigūravimas Outlook Express (integruota Windows XP) elektroninio pašto klientas Žemiau pateikta instrukcija, kaip sukonfigūruoti savo elektroninį paštą vartotojams, turintiems elektroninio
More informationApletai (įskiepiai) Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras.
Apletai (įskiepiai) Lekt. dr. Pijus Kasparaitis pkasparaitis@yahoo.com 2008-2009 m. m. pavasario semestras Java grafinės bibliotekos AWT (Abstract Window Toolkit) Swing 2009.04.09 P.Kasparaitis. Objektinis
More informationJAVA pagrindai Lek. Liudas Drejeris
JAVA pagrindai Lek. Liudas Drejeris Programa (1) Programa, tai eilė instrukcijų (vadinamų programiniais sakiniais), kurie vykdomi paeiliui, kol gaunamas norimas rezultatas. Programa (2) Programa (2) /*
More informationC++ programavimo kalba. Konstruktorius, destruktorius, klasių metodų modifikatoriai, objektų masyvai (4 paskaita)
C++ programavimo kalba Konstruktorius, destruktorius, klasių metodų modifikatoriai, objektų masyvai (4 paskaita) Konstruktorius Sukuriant objektą, jo duomenims paprastai turi būti priskiriamos pradinės
More informationTrumpai-ilga istorija
Įvadas į Web Services Kas yra Web Service? Kas ką žino??? 70-ieji: Mainframe Trumpai-ilga istorija 80-ieji: Client-Server Istorijos 90-ieji: Web 2000: SOA 2010: Cloud Computing Šaltinis: Sergejus Barinovas,
More informationWindows saugumo požiūriu
Windows saugumo požiūriu Rolandas Griškevičius rolandas.griskevicius@fm.vgtu.lt MSN: rgrisha@hotmail.com http://fmf.vgtu.lt/~rgriskevicius 2009-09-25 R. Griškevičius, Saugus programavimas, VGTU, 2009 1
More informationC programavimo kalba. 5 paskaita (Funkcijos, masyvai)
C programavimo kalba 5 paskaita (Funkcijos, masyvai) Funkcijų pavyzdys // Skaičių lyginimo programa #include void pmax(int, int); /* prototipas */ int main() {int i, j; for (i = -10; i
More informationA Lithuanian Verbalization Template for ORM conceptual models and rules
A Lithuanian Verbalization Template for ORM conceptual models and rules Mustafa Jarrar, Vrije Universiteit Brussel, Belgium. (Contact Author) Maria Keet, Free University of Bozen-Bolzano, Italy. Juozas
More informationParengė ITMM Artūras Šakalys 1
2014.02.02 Parengė ITMM Artūras Šakalys 1 2014.02.02 Parengė ITMM Artūras Šakalys 2 Kaip suprantame masyvą? Pavyzdys: Peteliškių šeima; Gėlių laukas; 2014.02.02 Parengė ITMM Artūras Šakalys 3 Kaip suprasti
More informationFinding Vulnerabilities in Source Code
Finding Vulnerabilities in Source Code Jason Miller CSCE 813 Fall 2012 Outline Approaches to code review Signatures of common vulnerabilities Language-independent considerations Tools for code browsing
More informationPolimorfizmas. Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras.
Polimorfizmas Lekt. dr. Pijus Kasparaitis pkasparaitis@yahoo.com 2009-2010 m. m. pavasario semestras Dar apie paveldėjimą Java kalboje kiekvienas paveldėtos klasės objektas gali būti naudojamas ten, kur
More informationCS 326 Operating Systems C Programming. Greg Benson Department of Computer Science University of San Francisco
CS 326 Operating Systems C Programming Greg Benson Department of Computer Science University of San Francisco Why C? Fast (good optimizing compilers) Not too high-level (Java, Python, Lisp) Not too low-level
More informationIronWASP (Iron Web application Advanced Security testing Platform)
IronWASP (Iron Web application Advanced Security testing Platform) 1. Introduction: IronWASP (Iron Web application Advanced Security testing Platform) is an open source system for web application vulnerability
More informationRedis Ma as, greitas, galingas. Specialiai VilniusPHP
Redis Ma as, greitas, galingas Specialiai VilniusPHP 2013.06.06 Sergej Kurakin Na, Jūs mane jau nekarta matėte, tai nieko nesakysiu apie save. Kaip aš susipa inau! Tai buvo prieš keletą metų! Projektas
More informationCenter for Systems and Software Engineering University of Southern California. Center for Systems And Software Engineering. UCC v.2011.
Center for Systems And Software Engineering UCC v.2011.10b Release Notes Page 1 of 7 1. Introduction This document provides the release notes for the UCC v.2011.10b. Unified CodeCount (UCC) is a code counting
More informationPasirenkamojo modulio kūrybinio darbo atlikimas ir vertinimas
Pasirenkamojo modulio kūrybinio darbo atlikimas ir vertinimas Pasirenkamojo modulio kūrybinis darbas atliekamas keliais etapais: kūrybinio darbo temos (problemos / užduoties) pasirinkimas ir derinimas
More informationWeb servisai WSDL. Osvaldas Grigas
Web servisai WSDL Osvaldas Grigas Web servisų aprašymas Kiekvienas web servisas yra unikalus Jis turi adresą(arba kelis adresus), kuriuo į jį galima kreiptis. Jis supranta tik tam tikros struktūros įeinančius
More informationCoding for Penetration
Coding for Penetration Testers Building Better Tools Jason Andress Ryan Linn ELSEVIER AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO Syngress is
More informationios Uždara operacinė sistema skirta tik Apple įrenginiams: iphone ipad ipod touch Apple TV
ios Uždara operacinė sistema skirta tik Apple įrenginiams: iphone ipad ipod touch Apple TV Pagrindas OS X, skirtas ARM įrenginiams Programavimo aplinka: XCode ir Objective-C Programavimo kompiuteris -
More informationChapter 11 Introduction to Programming in C
C: A High-Level Language Chapter 11 Introduction to Programming in C Original slides from Gregory Byrd, North Carolina State University Modified slides by Chris Wilcox, Colorado State University! Gives
More informationKodėl programą sudaro daug failų? Sukurtos tipinės funkcijų galėtų būti panaudojamos dar kartą; Sudaroma aiškesnė programos struktūra; Sudaroma galimy
C programavimo kalba 12 paskaita (Daugiafailinės programos, laiko ir datos funkcijos) Kodėl programą sudaro daug failų? Sukurtos tipinės funkcijų galėtų būti panaudojamos dar kartą; Sudaroma aiškesnė programos
More informationĮVADAS JVM Java Virtual Machine Java virtualios mašinos (JVM) JVM write once, run everywhere
ĮVADAS The Java programming language was introduced in 1995 by Sun Microsystems which has since merged into Oracle Corporation. Derived from languages such as C and C++. Pradžioje Java buvo skirta programuoti
More informationIntermediate Programming, Spring 2017*
600.120 Intermediate Programming, Spring 2017* Misha Kazhdan *Much of the code in these examples is not commented because it would otherwise not fit on the slides. This is bad coding practice in general
More information82V391x / 8V893xx WAN PLL Device Families Device Driver User s Guide
82V391x / 8V893xx WAN PLL Device Families Device Driver Version 1.2 April 29, 2014 Table of Contents 1. Introduction... 1 2. Software Architecture... 2 2.1. Overview... 2 2.2. Hardware Abstraction Layer
More informationJava Applets, etc. Instructor: Dmitri A. Gusev. Fall Lecture 25, December 5, CS 502: Computers and Communications Technology
Java Applets, etc. Instructor: Dmitri A. Gusev Fall 2007 CS 502: Computers and Communications Technology Lecture 25, December 5, 2007 CGI (Common Gateway Interface) CGI is a standard for handling forms'
More information1) What is the first step of the system development life cycle (SDLC)? A) Design B) Analysis C) Problem and Opportunity Identification D) Development
Technology In Action, Complete, 14e (Evans et al.) Chapter 10 Behind the Scenes: Software Programming 1) What is the first step of the system development life cycle (SDLC)? A) Design B) Analysis C) Problem
More informationProgramming Language Basics
Programming Language Basics Lecture Outline & Notes Overview 1. History & Background 2. Basic Program structure a. How an operating system runs a program i. Machine code ii. OS- specific commands to setup
More informationWeb technologijos. Hostingas JavaScript PHP
jquery & PHP Web technologijos Hostingas JavaScript PHP Kelios hostingo kompanijos serveriai.lt hostex.lt hostinger.lt Nemokamas hostingas su PHP/mysql http://mindaugas.zz.mu/jm1.html Hostingo paslaugų
More informationMore Programming Languages. Spring 2014 Carola Wenk
More Programming Languages Spring 2014 Carola Wenk Web Scripting We ve seen how (relatively) easy it is to create a new language. This suggests that languages can actually be application-specific. Let
More informationEvaluation of Static Analysis Tools for Finding Vulnerabilities in Java and C/C++ Source Code
Evaluation of Static Analysis Tools for Finding Vulnerabilities in Java and C/C++ Source Code Rahma Mahmood, Qusay H. Mahmoud Department of Electrical, Computer & Software Engineering University of Ontario
More informationPHP Lietuviškai. Turinys
PHP Lietuviškai Informacija iš interneto pakampių surinko, visa savaitgalį prie Easy PDF sėdėjo ir kankinosi Justinas L. aka scooox. Taigi, kad visi girdėtų, sakau: šitas dokumentas yra surinktas iš visų
More informationCOMsW Introduction to Computer Programming in C
OMsW 1003-1 Introduction to omputer Programming in Lecture 9 Spring 2011 Instructor: Michele Merler http://www1.cs.columbia.edu/~mmerler/comsw1003-1.html 1 Are omputers Smarter than Humans? Link http://latimesblogs.latimes.com/technology/2011/02/ibms-watson-on-jeopardy-computer-takes-big-leadover-humans-in-round-2.html
More informationKompiuterių tinklai UDP, NAT, SOCKS
Kompiuterių tinklai UDP, NAT, SOCKS Rolandas Griškevičius rolandas.griskevicius@vgtu.lt MSN: rgrisha@hotmail.com http://fmf.vgtu.lt/~rgriskevicius 2010-11-03 R. Griškevičius, Kompiuterių tinklai, VGTU,
More informationTutorial Point Servlets Pdf
Tutorial Servlets Pdf Free PDF ebook Download: Tutorial Servlets Pdf Download or Read Online ebook tutorial point servlets pdf in PDF Format From The Best User Guide Database on JSP, servlets, Struts,
More informationVilniaus universitetas Fizikos fakultetas Radiofizikos katedra R. Grigalaitis Programavimas (Programavimo C++ kalba paskaitų konspektas)
Vilniaus universitetas Fizikos fakultetas Radiofizikos katedra R. Grigalaitis Programavimas (Programavimo C++ kalba paskaitų konspektas) Vilnius 2010 - 2 - Turinys PROGRAMAVIMO SAMPRATA... - 4 - KINTAMIEJI
More informationWeb Architecture AN OVERVIEW
Web Architecture AN OVERVIEW General web architecture Historically, the client is a web browser But it can be also A mobile application A desktop application Other server applications Internet Server(s)
More informationCode review guide. Notice: Read about the language that you will test its code, if you don t have an idea about the language this will be difficult.
Code review guide Author: Jameel Nabbo Website: www.jameelnabbo.com Table of contents Introduction Code review Checklist Steps to perform on code review task Tips for code review Starting the Code review
More informationChapter 11 Introduction to Programming in C
C: A High-Level Language Chapter 11 Introduction to Programming in C Original slides from Gregory Byrd, North Carolina State University Modified slides by Chris Wilcox, Colorado State University Gives
More informationCSci 4061 Introduction to Operating Systems. Programs in C/Unix
CSci 4061 Introduction to Operating Systems Programs in C/Unix Today Basic C programming Follow on to recitation Structure of a C program A C program consists of a collection of C functions, structs, arrays,
More informationChapter 11 Introduction to Programming in C
Chapter 11 Introduction to Programming in C C: A High-Level Language Gives symbolic names to values don t need to know which register or memory location Provides abstraction of underlying hardware operations
More informationC++ programavimo kalba
C++ programavimo kalba Šablonai (10 paskaita) Kodėl šablonai (templates)? Programuojant egzistuoja situacijos, kai reikia atlikti tuos pačius veiksmus su skirtingais duomenų tipais (pvz. modulio radimas,
More information2-3 PASKAITOS. Paprasčiausia programa:
2-3 PASKAITOS Turinys: Paprasčiausios programos pavyzdys. Darbas su programavimo terpėmis. Duomenys. Duomenų tipai ir charakteristikos. Paprasčiausia įvestis/išvestis. Paprasčiausia programa: /* Pirmoji
More informationC programos struktūra ir funkcijos
C programos struktūra ir funkcijos 1. C programą sudaro 1 arba daugiau failų (arba kompiliavimo vienetų). programa ::= { failas 1+ 2. C programos failas tai vienas paskui kitą einantys kintamųjų, funkcijų
More informationInf 202 Introduction to Data and Databases (Spring 2010)
Inf 202 Introduction to Data and Databases (Spring 2010) Jagdish S. Gangolly Informatics CCI SUNY Albany April 22, 2010 Database Processing Applications Standard Database Processing Client/Server Environment
More informationPaveikslėliai. Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras.
Paveikslėliai Lekt. dr. Pijus Kasparaitis pkasparaitis@yahoo.com 2008-2009 m. m. pavasario semestras Klasė Image Priklauso paketui java.awt Abstrakti klasė paveldėta iš Object Tai visų grafinių paveikslėlių
More informationCS 220: Introduction to Parallel Computing. Beginning C. Lecture 2
CS 220: Introduction to Parallel Computing Beginning C Lecture 2 Today s Schedule More C Background Differences: C vs Java/Python The C Compiler HW0 8/25/17 CS 220: Parallel Computing 2 Today s Schedule
More informationC++ programavimo kalba
C++ programavimo kalba Klasės, klasių savybės, vardų erdvės (3 paskaita) OOP Struktūrinio programavimo modelio problema: Didelės programos tampa labai sudėtingos t.y. egzistuoja tūkstančiai kintamųjų ir
More informationMicro Focus Fortify Application Security
Micro Focus Fortify Application Security Petr Kunstat SW Consultant +420 603 400 377 petr.kunstat@microfocus.com My web/mobile app is secure. What about yours? High level IT Delivery process Business Idea
More informationCSE 303 Lecture 8. Intro to C programming
CSE 303 Lecture 8 Intro to C programming read C Reference Manual pp. Ch. 1, 2.2-2.4, 2.6, 3.1, 5.1, 7.1-7.2, 7.5.1-7.5.4, 7.6-7.9, Ch. 8; Programming in C Ch. 1-6 slides created by Marty Stepp http://www.cs.washington.edu/303/
More informationTautvydas Dagys Microsoft Lietuva
Tautvydas Dagys Microsoft Lietuva Programos akademinėms institucijoms ir studentams Studentų partnerių programa Akademinės institucijoms Studentams MSDN AA Tai efektyvus būdas aprūpinti savo laboratorijas/klases
More informationChapter 11 Introduction to Programming in C
Chapter 11 Introduction to Programming in C Original slides from Gregory Byrd, North Carolina State University Modified slides by Chris Wilcox, Colorado State University C: A High-Level Language! Gives
More informationDesign & Implementation Overview
P Fall 2017 Outline P 1 2 3 4 5 6 7 P P Ontological commitments P Imperative l Architecture: Memory cells variables Data movement (memory memory, CPU memory) assignment Sequential machine instruction execution
More informationFILE - JAVA WEB SERVICE TUTORIAL
20 February, 2018 FILE - JAVA WEB SERVICE TUTORIAL Document Filetype: PDF 325.73 KB 0 FILE - JAVA WEB SERVICE TUTORIAL Web Services; Java Security; Java Language; XML; SSL; 1 2 3 Page 1 Next. Web service
More informationHands-On Ethical Hacking and Network Defense 2 nd edition
Hands-On Ethical Hacking and Network Defense 2 nd edition Chapter 7 Programming for Security Professionals Last modified 9-29-16 Objectives Explain basic programming concepts Write a simple C program Explain
More informationNaujos galimybės su Lotus Notes 8.5.1: naudotojams ir programuotojams
Naujos galimybės su Lotus Notes 8.5.1: naudotojams ir programuotojams IBM Programinės įrangos diena 2009 m. spalio 21 d. Andrejus Chaliapinas, IĮ Infosana vadovas http://www.infosana.com Prezentacijos
More informationChapter 11 Introduction to Programming in C
Chapter 11 Introduction to Programming in C C: A High-Level Language Gives symbolic names to values don t need to know which register or memory location Provides abstraction of underlying hardware operations
More informationKurt Schmidt. October 30, 2018
to Structs Dept. of Computer Science, Drexel University October 30, 2018 Array Objectives to Structs Intended audience: Student who has working knowledge of Python To gain some experience with a statically-typed
More informationInterneto technologijų taikymai
Interneto technologijų taikymai Mantas Puida (mantasp@gmail.com) VI paskaita Entity pirminis raktas Kiekviena Entity klasė privalo turėti pirminį raktą (Primary Key). Jei turima Entity objektų hierarchija,
More informationPla$orm independence and languages. CSCI 136: Fundamentals of Computer Science II Keith Vertanen
Pla$orm independence and languages CSCI 136: Fundamentals of Computer Science II Keith Vertanen Language types: Compiled e.g. C++ Overview Intermediate / bytecode e.g. Java,.NET Interpreted e.g. PHP, JavaScript
More informationWebStore9 Services. Web Development Services
WebStore9 Services Web Development Services ASP.Net MVC Development Services ASP.Net Development Services ColdFusion Development Services SharePoint Development Services Classic ASP Development Services
More informationDeep C. Multifile projects Getting it running Data types Typecasting Memory management Pointers. CS-343 Operating Systems
Deep C Multifile projects Getting it running Data types Typecasting Memory management Pointers Fabián E. Bustamante, Fall 2004 Multifile Projects Give your project a structure Modularized design Reuse
More informationInstructor s Notes Web Data Management Web Client/Server Concepts. Web Data Management Web Client/Server Concepts
Instructor s Web Data Management Web Client/Server Concepts Web Data Management 152-155 Web Client/Server Concepts Quick Links & Text References Client / Server Concepts Pages 4 11 Web Data Mgt Software
More informationCRAXweb: Web Testing and Attacks through QEMU in S2E. Shih-Kun Huang National Chiao Tung University Hsinchu, Taiwan
CRAXweb: Web Testing and Attacks through QEMU in S2E Shih-Kun Huang National Chiao Tung University Hsinchu, Taiwan skhuang@cs.nctu.edu.tw Motivation Symbolic Execution is effective to crash applications
More informationChapter 11 Introduction to Programming in C
Chapter 11 Introduction to Programming in C Original slides from Gregory Byrd, North Carolina State University Modified by Chris Wilcox, Yashwant Malaiya Colorado State University C: A High-Level Language
More informationJAVA PROGRAMOS KODO ANALIZĖS NAUDOJANT SCRO ONTOLOGIJĄ GALIMYBIŲ TYRIMAS
KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMATIKOS FAKULTETAS VYTENIS SODAITIS JAVA PROGRAMOS KODO ANALIZĖS NAUDOJANT SCRO ONTOLOGIJĄ GALIMYBIŲ TYRIMAS Baigiamasis magistro projektas Vadovas doc. dr. R. Butkienė
More informationŽiniatinklio turinio valdymo sistemų saugumo tyrimas
KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMATIKOS FAKULTETAS KOMPIUTERIŲ KATEDRA Vitalius Radzevičius Žiniatinklio turinio valdymo sistemų saugumo tyrimas Magistro darbas Darbo vadovas dr. Audronė Janavičiūtė
More informationKompiuterių tinklai. IPv6 ir tuneliai
Kompiuterių tinklai IPv6 ir tuneliai Rolandas Griškevičius rolandas.griskevicius@vgtu.lt MSN: rgrisha@hotmail.com http://fmf.vgtu.lt/~rgriskevicius 00--08 R. Griškevičius, Kompiuterių tinklai, VGTU, 00
More informationŠIAULIŲ UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA. Mindaugas Gapšys BAKALAURO DARBAS
ŠIAULIŲ UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA Mindaugas Gapšys Informatikos specialybės IV kurso dieninio skyriaus studentas Bash skriptų panaudojimas Unix/Linux operacinių
More informationStruktūrų sintaksė Struktūra tai vienodo arba skirtingo tipo kintamųjų rinkinys. Sintaksė: struct vardas { ; type1 var1; type2 var2;... typen varn; //
C programavimo kalba 10 paskaita (Struktūros) Struktūrų sintaksė Struktūra tai vienodo arba skirtingo tipo kintamųjų rinkinys. Sintaksė: struct vardas { ; type1 var1; type2 var2;... typen varn; // Gale
More informationRelease Notes. UCC v Copyright (C) University of Southern California. Center for Systems and Software Engineering
Release Notes UCC v.2013.04 Copyright (C) 1998-2014 University of Southern California Center for Systems and Software Engineering 1 Introduction This document provides the release notes for the UCC v.2013.04.
More information2017 m. pagrindinės sesijos informacinių technologijų valstybinio brandos egzamino programavimo užduoties galimi sprendimai
Pavyzdys A 2017 m. pagrindinės sesijos informacinių technologijų valstybinio brandos egzamino programavimo užduoties galimi sprendimai int konvertuojamas(int skaic, int id); char konvertuojamas2(int dal);
More informationUCC Release Notes v Center for Systems and Software Engineering University of Southern California. Release Notes. UCC v.2011.
Release Notes UCC v.2011.10 Copyright (C) 1998-2012 University of Southern California Center for Systems and Software Engineering 1 Introduction This document provides the release notes for the UCC v.2011.10.
More informationCS 300 Leftovers. CS460 Pacific University 1
CS 300 Leftovers Pacific University 1 argc/argv The C Programming Language section 5.10, page 114 int main(int argc, char** argv) argc - number of entries in argv argv - array of character pointers containing
More informationINFORMACINĖS SISTEMOS INVENTORIAUS VALDYMO SISTEMA
ŠIAULIŲ UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA Denas Pavlavičius Informatikos specialybės II kurso dieninio skyriaus studentas INFORMACINĖS SISTEMOS INVENTORIAUS VALDYMO
More informationCoding for Penetration Testers Building Better Tools
Coding for Penetration Testers Building Better Tools Second Edition Jason Andress Ryan Linn Clara Hartwell, Technical Editor ELSEVIER AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO
More informationIntroduction to Supercomputing
Introduction to Supercomputing TMA4280 Introduction to UNIX environment and tools 0.1 Getting started with the environment and the bash shell interpreter Desktop computers are usually operated from a graphical
More informationTesting from the Cloud: Is the sky falling?
AppSec USA 2011 The OWASP Foundation http://www.owasp.org Testing from the Cloud: Is the sky falling? Matt Tesauro OWASP Foundation Board Member, WTE Project Lead matt.tesauro@owasp.org In between Jobs
More informationNew programming language introduced by Microsoft contained in its.net technology Uses many of the best features of C++, Java, Visual Basic, and other
C#.NET? New programming language introduced by Microsoft contained in its.net technology Uses many of the best features of C++, Java, Visual Basic, and other OO languages. Small learning curve from either
More informationCAAM 420 Daily Note. Scriber: Qijia Jiang. Date: Oct.16. Project 3 Due Wed 23.Oct. Two parts: debug code and library exercise.
CAAM 420 Daily Note Scriber: Qijia Jiang Date: Oct.16 1 Announcement Project 3 Due Wed 23.Oct. Two parts: debug code and library exercise. 2 Make Convention Make syntax for library directories and library
More informationK R I S T I N A L A P I N. I dalis. Matematikos ir statistikos studijų krypčių pirmo kurso studentams
V I L N I A U S U N I V E R S I T E T AS M A T E M A T I K O S I R I N F O R M A T I K O S F A K U L T E T A S P R O G R A M Ų S I S T E M Ų K A T E D R A K R I S T I N A L A P I N Programavimas C I dalis
More informationPaskirstytos atminties lygiagretusis programavimas Įvadas į MPI
Paskirstytos atminties lygiagretusis programavimas Įvadas į MPI Distributed memory parallel programming Paskirstytos atminties lygiagretieji kompiuteriai Kiekvienas procesorius turi tik savo nuosavą atmintį
More informationVb Net Tutorial For Beginners Visual Studio 2010 Create Web Service
Vb Net Tutorial For Beginners Visual Studio 2010 Create Web Service In this article I will explain a tutorial to create a simple Windows Service with sample Net Web Application using Visual Studio 2010
More informationBut before understanding the Selenium WebDriver concept, we need to know about the Selenium first.
As per the today s scenario, companies not only desire to test software adequately, but they also want to get the work done as quickly and thoroughly as possible. To accomplish this goal, organizations
More informationObjektiškai Orientuotas Programavimas su C++
Vilniaus Universitetas Matematikos ir Informatikos fakultetas Kompiuterijos katedra Saulius Narkevičius Objektiškai Orientuotas Programavimas su C++ paskaitų konspektai pavasaris 2005 Turinys Pratarmė...
More informationPAIEŠKOS SISTEMŲ OPTIMIZAVIMO METODŲ ANALIZĖ
PAIEŠKOS SISTEMŲ OPTIMIZAVIMO METODŲ ANALIZĖ Donatas Veikutis, Simona Ramanauskaitė UAB Komeksimas, Šiaulių universitetas Įvadas Visuomenė, internetas ir jame esanti informacija dabar turi vieną didžiausių
More informationConditional Compilation
Conditional Compilation printf() statements cab be inserted code for the purpose of displaying debug information during program testing. Once the program is debugged and accepted as "working'', it is desirable
More informationApplication Security through a Hacker s Eyes James Walden Northern Kentucky University
Application Security through a Hacker s Eyes James Walden Northern Kentucky University waldenj@nku.edu Why Do Hackers Target Web Apps? Attack Surface A system s attack surface consists of all of the ways
More informationA D V I S O R Y S E R V I C E S. Web Application Assessment
A D V I S O R Y S E R V I C E S Web Application Assessment March 2009 Agenda Definitions Landscape of current web applications Required skills Attack surface Scope Methodology Soft skills 2 Definitions
More informationUpload to your web space (e.g., UCSC) Due this Thursday 4/8 in class Deliverable: Send me an with the URL Grading:
CS 183 4/6/2010 Build a simple HTML page, topic of your choice Will use this as a basis and gradually and add more features as the class progresses Need to be done with your favorite text editor, no visual
More informationTutorial Php Coding Projects Pdf Beginners With Examples
Tutorial Php Coding Projects Pdf Beginners With Examples Learning PHP Basic With project 2015 part 1,Beginner PHP Tutorial This is an php. Programming Tutorials. SubscribeSubscribed php tutorial for beginners
More informationRuby Programming Professional Made Easy 2nd Edition: Expert Ruby Programming Language Success In A Day For Any Computer User (Ruby, HTML, C
Ruby Programming Professional Made Easy 2nd Edition: Expert Ruby Programming Language Success In A Day For Any Computer User (Ruby, HTML, C Programming,... C++. C, C++ Programming, Computer Program) By
More informationCenter for Systems And Software Engineering. UCC v Release Notes. Page 1 of 7
Center for Systems And Software Engineering UCC v.2011.05 Release Notes Page 1 of 7 1. Introduction This document provides the release notes for the UCC v.2011.05. Unified CodeCount (UCC) is a unified
More informationgfuzz: An instrumented Web application fuzzing environment Ezequiel D. Gutesman Corelabs Core Security Technologies
gfuzz: An instrumented Web application fuzzing environment Ezequiel D. Gutesman Corelabs Core Security Technologies Objectives Present a working tool (prototype-poc) to test the security of a given web
More informationINT213. Active Server Pages using Visual Basic Scripting
INT213 Active Server Pages using Visual Basic Scripting Tim McKenna cs/~tmckenna see standards my background a non-scents environment, please. Trust your pheromones. INT213 Active Server Pages using VBScript
More information