From the blog

How to: Configurarea RAD Server

RAD Server este un set de aplicații preconfigurate pentru construirea și implementarea rapidă a aplicațiilor de serviciu. RAD Server asigură publicarea și gestionarea automată a API-ului Delphi și C ++ REST / JSON, middleware-ul integrării bazei de date la nivel de întreprindere, IoT Edgeware și o serie de servicii de aplicații precum User Directory și servicii de autentificare, Notificări Push, Geolocalizare interioară / exterioară și stocare de date JSON. Există o serie de fișiere de configurare pentru acest tip de server: Locating the RAD Server Configuration File Configuring Database Connections [Data] Configuring Server Limits [Server.Limits] Configuring Server Authentication [Server.Keys] Configuring Custom Resource Modules [Server.Packages] Configuring Push Notifications [Server.Push] Configuring User and Group Permissions [Server.Authorization] Setting Resource Redirects [Server.Redirect] Configuring a Proxy [Server.EdgeHTTP] Enabling Multi-tenancy [Server.Tenants] Configuring The Server Root Path [Server.Roots] Configuring Public Paths [Server.PublicPaths] Configuring Dev Server Connections [Server.Connection.Dev] Configuring API Cross Domain Headers [Server.APICrossDomain] Configuring Dev Server Threads [Server.Threads.Dev] Configuring Console Logins, Cookies, And Display Options [Console] Configuring Dev Console Connections [Console.Connection.Dev] Configuring Console Browser Settings [Console.Browser] Configuring Console Paths [Console.Paths.*] Pentru mai multe detalii despre fieacre din ele accesati acest link. De când Embarcadero a început să includă RAD Server în ediția RAD Studio, a existat un utilitar puțin cunoscut disponibil pentru a gestiona instalațiile de la un client desktop. Această aplicație a fost denumită inițial consola Desktop EMS și a fost livrată atât ca un binar în folderul RAD Studio bin, cât și cu codul sursă complet în folderul cu codul sursă al produsului. În 10.3.2 am înlocuit acea aplicație cu o versiune rescrisă semnificativ, numită acum RAD Server Management Console și disponibilă ca rsconsole.exe. Interfața de utilizator a acestei aplicații FireMonkey a fost reproiectată semnificativ, după cum puteți vedea în imaginea de mai jos. Consola de server RAD folosește acum stiluri FireMonkey și poate comuta între un stil luminos și unul întunecat la timpul de rulare. Cealaltă modificare semnificativă este configurația conexiunii. Aceasta acoperea partea superioară a ecranului și acum a fost mutată într-o casetă de dialog separată. Panoul din stânga listează conexiunile pe care le-ați configurat deja (făcând o schimbare ușoară între diferite instanțe RAD Server) și dialogul este utilizat pentru a edita conexiuni sau pentru a adăuga altele noi.

Read More

Selectarea solutie SAST

Odată cu creșterea companiei și creșterea numărului de dezvoltatori, verificarea „manual” a prezenței vulnerabilităților devine din ce în ce mai dificilă. Devine necesar implementarea soluțiii SAST – testarea statică de securitate a aplicațiilor (Static Application Security Testing). Cum să alegi SAST? Nici o simplă vulnerabilitate nu poate fi găsită folosind algoritmi primitivi. Astăzi pe piață există o mulțime de soluții SAST, atât comerciale, cât și gratuite. Cele mai populare dintre ele sunt AppScan de la IBM Security, Synopsys, Veracode, Inspector de aplicații, MicroFocus, Appercut, Checkmarks. Eficiența procesului de dezvoltare depinde de alegerea soluției. Principalele avantaje ale soluțiilor comercial sunt: Concentrare pe securitate: algoritmi specifici și baze de reguli mari. Asistență pentru multe limbaje de programare. Interfață ușor de utilizat. Disponibilitatea pluginurilor și API-ului. Disponibilitatea suportului tehnic pentru instrument. Instrumentele gratuite și interfețele web sunt adesea inferioare celor plătite, deoarece conțin algoritmi mai simpli, iar bazele regulilor sunt mai puțin complete. Sarcina lor principală este de a găsi erori în cod. Specializarea și funcționalitatea acestor soluții este de obicei foarte restrânsă. Odată selectată soluția SAST, trebuie să o integrați în procesul de dezvoltare. Opțiunile de integrare pot include: încorporarea unui repozitoriu, medii de dezvoltare, servere CI / CD, sisteme de urmărire a sarcinilor. Un instrument bun este capabil să se integreze cu succes în toate clasele de sisteme enumerate. Notă: API-ul SAST deschis include API-ul JSON și CLI și oferă oportunități ample pentru integrarea și automatizarea suplimentară. Pentru a selecta instrumentul care îndeplinește cel mai mult obiectivele și obiectivele dezvoltatorului, trebuie să efectuați compararea funcțională și compararea lor în calitate. O comparație funcțională se realizează în funcție de mai mulți parametri: ei analizează comoditatea interfeței și comoditatea integrării cu instrumentele proprii. În același timp, este important să efectuați verificări pe propriile coduri. Următorul pas este o comparație a calității: analizează vulnerabilitățile și falsele pozitive în raport cu propriul cod. Nuanțele și subtilitățile analizei de cod Cu cât se constată mai devreme o vulnerabilitate, cu atât este mai ieftin pentru dezvoltator și pentru client. Acest lucru înseamnă că produsul trebuie verificat periodic pentru vulnerabilități în timpul procesului de dezvoltare și, în plus, să efectueze verificări de control înainte de eliberare. Viteză și resurse: de obicei este de așteptat ca instrumentul să funcționeze rapid; alergați la fiecare schimbare; arată pe zbor cine și când a introdus vulnerabilitatea. De fapt, SAST analizează codul timp de cel puțin 8 ore, este dificil să îl executați la fiecare modificare; este dificil să identifici autorul vulnerabilității; fals pozitive se întâmplă. Deci, apare întrebarea: cum să configurați DevSecOps. Este foarte important să: Calculați timpul și resursele pentru a vă analiza codul. Identificați declanșatorii pentru începerea unei scanări pe baza rezultatelor. Rețineți că puterea va trebui recalculată periodic. Este mai bine să folosiți o analiză incrementală, dar aceasta trebuie făcută cu prudență, deoarece vulnerabilitățile pot fi pierdute. De exemplu, puteți rula testarea folosind SAST atunci când un dezvoltator trimite o sarcină pentru revizuire. De asemenea, puteți începe scanarea la sfârșitul zilei de lucru. O altă problemă este falsul pozitiv și obținerea de informații despre vulnerabilități multiple în raport. În acest caz, dezvoltatorul este recomandat: să filtreze analizatorii statici în funcție de vulnerabilități și de fișiere. Puteți exclude bibliotecile, analiza criticitatea, adăuga excepții pentru anumiți parametri. Este suficient să faci o astfel de lucrare o singură dată, pentru ca, în […]

Read More

SAST pentru JavaScript in GitLab 11.8

Testarea statică a securității aplicațiilor (SAST) vă permite să găsiți vulnerabilități în cod de fiecare dată când trimiteți modificări în depozit. Cu aceste informații disponibile în cererea de îmbinare, puteți să aveți mai întâi grijă de securitate și să detectați probleme chiar înainte de a fi adăugate la sucursala stabilă. Datorită testării statice a securității aplicațiilor (SAST), GitLab scanează codul și ajută la detectarea potențialelor vulnerabilități chiar și în conductă. În versiunea 11.8, adăugăm limbi JavaScript la lista de SAST acceptate, pe baza suportului existent pentru node.js. Acum puteți scana orice fișiere JavaScript, scripturi statice și HTML. O practică importantă la DevSecOps chiar acum este scanarea modificărilor de fiecare dată când ne angajăm, iar cu această actualizare SAST acoperim unul dintre cele mai populare limbi web, ajutând utilizatorii să detecteze mai devreme riscurile în codul JavaScript. Odată cu lansarea 11.8, adăugăm JavaScript pe lista de limbi acceptate de functionalitati de scanare erori de securiate. Nu trebuie să schimbați nimic în conductele dvs., proiectele JavaScript sunt detectate și analizate automat pentru vulnerabilitățile de securitate. De asemenea, face parte din DevOps Auto. Dacă utilizați GitLab CI / CD, puteți analiza codul sursă pentru vulnerabilitățile cunoscute folosind testarea statică a securității aplicațiilor. Puteți profita de SAST fie prin includerea jobului CI în fișierul dvs. .gitlab-ci.yml existent, fie implicit folosind Auto SAST furnizat de Auto DevOps. GitLab verifică raportul SAST, compară vulnerabilitățile găsite între sucursalele și sucursalele-țintă și arată informațiile din dreptul cererii de îmbinare. Rezultatele sunt sortate în funcție de prioritatea vulnerabilităților: Critical High Medium Low Unknown Everything else Pentru a lansa un asemenea job, în mod implicit, aveți nevoie de GitLab Runner cu dockerul sau kubernetes care rulează în modul privilegiat. Dacă utilizați Runners partajat pe GitLab.com, aceasta este activată în mod implicit. Pentru GitLab 11.9 și versiuni ulterioare, pentru a activa functionalitatea, trebuie să includeți șablonul SAST.gitlab-ci.yml care este furnizat ca parte a instalării dvs. GitLab. Pentru versiunile GitLab anterioare datei de 11.9, puteți copia și utiliza jobul așa cum a fost definit acel șablon. Adăugați următoarele în fișierul dvs. .gitlab-ci.yml:

Read More

Ce nu vor putea niciodată static analysis

Ce este practic, source code static analysis? Trimitem câteva surse code la intrare, iar la ieșire într-un timp scurt (mult mai scurt decât testul) obținem câteva informații despre codul nostru. Limitarea fundamentală și insurmontabilă din punct de vedere matematic este că nu putem obține în acest fel o clasă destul de restrânsă de informații. Cel mai cunoscut exemplu de problemă care nu poate fi rezolvat cu ajutorul static analysis este problema de oprire: aceasta este o teoremă care dovedește că este imposibil să dezvolte un algoritm general care să determine prin codul sursă al unui program dacă se va bucla sau se va termina într-un timp finit. O extensie a acestei teoreme este teorema lui Rice, care afirmă că, pentru orice proprietate non-privată a funcțiilor computabile, a determina dacă un program arbitrar calculează o funcție cu această proprietate este o problemă algoritmic nesolvabilă. De exemplu, este imposibil să scrii un analizator care stabilește, folosind orice cod sursă, dacă programul analizat este o implementare a unui algoritm care calculează, să zicem, pătratul unui număr întreg. Astfel, funcționalitatea analizatorilor statici are limită insurmontabile. În toate cazurile, analizatorul static nu va putea niciodată să detecteze astfel de lucruri, cum ar fi, de exemplu, apariția unei „excepții de indicator nul” în limbile nuloase sau în toate cazurile va determina apariția unui „atribut care nu se găsește” în limbile tipizate dinamic. Tot ceea ce poate face cel mai avansat analizor static este să izoleze cazuri particulare, dintre care numărul dintre toate problemele posibile cu codul sursă este, fără exagerare, o scădere a găleții. Static analysis nu este o căutare a erorilor Concluzia rezultă din cele de mai sus: static analysis nu este un mijloc de reducere a numărului de defecte dintr-un program. Mă aventurez să spun: atunci când este aplicat pentru prima oară proiectului dvs., va găsi locuri „ocupate” în cod, dar cel mai probabil nu va găsi defecte care să afecteze calitatea programului. Exemplele de defecte găsite automat de analizatori sunt impresionante, dar nu trebuie să uităm că aceste exemple au fost găsite prin scanarea unui set mare de baze de coduri mari. După același principiu, crackerele care au capacitatea de a încerca câteva parole simple pe un număr mare de conturi găsesc în cele din urmă acele conturi care au o parolă simplă. Asta înseamnă că nu trebuie aplicată static analysis? Sigur că nu! Și, exact pentru același motiv, de ce merită să verificați fiecare nouă parolă pentru prezența acesteia în stop-list a parolelor „simple”.

Read More

RAD versus Low Code

Dezvoltarea Low Code este în prezent un subiect foarte discutat. Dacă se credem în declarațiile producătorilor, atunci aceste instrumente sunt răspunsul inevitabil al IT la nevoia tot mai mare de software în întreprinderi. Acestea se adresează utilizatorilor interesați din punct de vedere tehnic din departamentele de specialitate și pot îmbunătăți cooperarea cu dezvoltatorii de software. Principalul obiectiv este reducerea timpului de introducere pe piață. Dezvoltatorii vor deveni de prisos și va trebui să ne facem griji pentru meseria noastră? Și care este relația cu dezvoltarea rapidă a aplicațiilor? În dezvoltarea de software, instrumentele au fost întotdeauna utilizate pe scară largă pentru a accelera procesul de dezvoltare a noilor aplicații. Este important să utilizați cel mai bun suport de instrument posibil pentru sarcina respectivă. Nici o așa-numită „Overtooling” și nici o utilizare prea minimalistă a instrumentelor nu sunt convenabile în vederea unei eficiențe ridicate a ciclului de dezvoltare. Cu o utilizare prea mică a instrumentelor, prea multe sarcini sunt efectuate manual, chiar dacă există instrumente mature și adecvate care simplifică și accelerează lucrarea. Unul ar risipi potențialele de economie și cu acesta bani și timp. RAD Vs. Low Code Instrumentul tipic de dezvoltare software este mediul de dezvoltare integrat (IDE). (RAD) înseamnă o dezvoltare rapidă a aplicațiilor. Conceptul de bază este așa-numitul model de proces prototip. Acesta servește la flexibilitatea dezvoltării software în comparație cu modelele procedurale clasice și la adaptarea rapidă la cerințele în schimbare. Lucrul obișnuit despre instrumentele de dezvoltare rapidă a aplicațiilor este că acestea vă permit să trageți și să fixați interfața de utilizator și să personalizați proprietățile folosind un designer. De asemenea, sunt disponibile componente non-vizuale. De exemplu, pentru a interacționa cu o bază de date din aplicație sau pentru a invoca un dialog de fișier. Extensiile, pluginurile sau bibliotecile externe pot fi utilizate, de obicei, pentru a extinde gama de componente în mai multe moduri. Scopul RAD Tools este de a scuti dezvoltatorul de activități de dezvoltare software de rutină. Acest lucru crește semnificativ eficiența procesului de dezvoltare. Cu toate acestea, utilizarea acestui tip de instrument menține în permanență dezvoltatorul într-un control complet al codului sursă. Cele mai multe dintre mediile de dezvoltare integrate utilizate astăzi sunt pe piață de mulți ani și sunt în continuă evoluție pentru a asigura protecția investițiilor într-o oarecare măsură. Software-ul produs pe această bază poate fi utilizat de obicei ani mai târziu într-o nouă versiune a instrumentului RAD să fie editate și dezvoltate în continuare. Într-o altă direcție este tendința pe care cineva ar dori să amâne dezvoltarea de aplicații de afaceri către departamentele de specialitate. Capacitățile de dezvoltare sunt reduse, iar cererea de soluții software în companii este în continuă creștere. Utilizatorii cu experiență tehnică și pricepuți (Citizen Developer) pot fi capabili să își asume unele dintre sarcinile de dezvoltare. În acest scop, li se oferă instrumente extrem de integrate care le permit să creeze în mare parte soluții software. Aceste instrumente sunt denumite Low Code sau, în cazuri speciale, fără platforme de cod. Low înseamnă un cod cât mai mic atunci când creați software. De obicei, sunt utilizate pentru aplicații de vânzare, de marketing sau de planificare a producției. Încep de la nivelul funcțiilor unui software (cazuri de utilizare). Există un potențial mare de standardizare aici, cum ar fi introducerea datelor bazate pe formular, crearea interfeței cu utilizatorul, implementarea fluxului de lucru și conectarea la IT-ul companiei existente. Niciun sistem de cod nu promite livrarea de software fără codificare. Cu toate acestea, acest lucru poate funcționa numai pentru sarcini […]

Read More

Cum se utilizează corect analiza statică

Acualmente se vorbește din ce în ce mai mult despre analiza statică pentru căutarea vulnerabilităților ca etapă necesară a procesului de dezvoltare. Cu toate acestea, mulți vorbesc și despre problemele analizei statice. Dacă ați încercat vreun instrument specializat, puteți fi înspăimântat de rapoarte lungi, cu recomandări confuze, dificultăți în configurarea instrumentului și falsuri pozitive. Deci este încă necesară analiza statică? Experiența sugerează că este necesar. Și multe dintre problemele care apar atunci când vă uitați prima dată la instrument, este destul de posibil să rezolvați. Voi încerca să vă spun ce poate face utilizatorul și cum ar trebui să fie analizatorul astfel încât utilizarea sa să fie utilă și să nu se introducă „un alt instrument inutil, de care are nevoie Security Officer”. Despre analiza statică Deci, am vorbit deja despre limitările teoretice ale analizei statice. De exemplu, analiza statică profundă încearcă să rezolve probleme care sunt exponențiale în complexitate. Prin urmare, fiecare instrument caută un compromis între timpul necesar, resursele cheltuite, numărul de vulnerabilități găsite și numărul de falsuri pozitive. De ce avem nevoie de analize aprofundate? Orice IDE găsește foarte repede erori, uneori chiar și legate de securitate – care sunt unele probleme exponențiale? Un exemplu clasic este SQL injection (și orice altă injecție, cum ar fi XSS, RCE și altele asemenea), care trece prin mai multe funcții (adică citirea datelor de la utilizator și executarea interogării apar în diferite funcții). Căutarea acestuia necesită o analiză interprocedurală a fluxului de date, iar aceasta este o sarcină de complexitate exponențială. De acord, fără a căuta astfel de vulnerabilități, analiza nu poate fi considerată profundă. Din același motiv, trebuie să analizați codul în întregime și nu în părți – altfel, vulnerabilitățile interprocedurale pot fi ratate. În ultimii ani, am acumulat multă experiență în comunicarea cu clienții (potențiali) ai diferiților analizoare statice. În special, discutăm revendicările la instrumente pe baza rezultatelor primei utilizări (pilot). Majoritatea revendicărilor urmează într-un fel sau altul din limitările teoretice ale tehnologiei. În plus, este posibil ca instrumentele să nu aibă pur și simplu funcționalitatea de care utilizatorul are nevoie. Cu toate acestea, în opinia noastră, analizatorii se pot deplasa (și se îndreaptă) către utilizator în ceea ce privește rezolvarea problemelor identificate mai jos. Dar, de asemenea, trebuie să poți folosi analizoare, nivelând consecințele acelorași probleme – după cum se dovedește, acest lucru nu este atât de dificil. Hai să mergem în ordine. Vă puteți imagina o situație de model: decideți să încercați tehnologia în acțiune sau să alegeți un analizor static – efectuați un pilot. Desigur, nu aveți încredere în cazurile de test ale furnizorului și doriți să încercați să analizați codul dvs. (în același timp puteți găsi vulnerabilități reale și să le remediați). Vi se oferă un program de instalare sau o mașină virtuală pre-configurată cu un sistem pentru o perioadă scurtă de timp. Începutul analizei Mai întâi trebuie să lansați analiza. Accesați interfață și totul pare clar: încărcați arhiva cu codul sursă și faceți clic pe „analiză”. Dar nu: primiți mai multe formulare cu câmpuri diferite care trebuie completate cumva. Este necesar să indicați limbaje de programare, unele setări ale analizorului, selectați pachete de vulnerabilitate (de unde știți ce este inclus în ele?) Ș.a. Treci acest test și începe analiza. Ah, nu – o eroare de scanare. „Formatul nu corespunde cerințelor”, „Este necesar un […]

Read More

Promoție Embarcadero – 3 pentru 2

Cea mai curentă Promoție Embarcadero – Promo 3 pentru 2 – la procurarea a 2 licențe de orice soluție – RAD Studio, Delphi sau C++ Builder de orice ediție: Professional Enterprise Architect primiti a treia licență GRATIS ! 10.3.3 Rio este cea mai bună versiune a noastră la momentul actual, oferind caracteristici infinite care vă ajută să construiți, să testați și să implimentați aplicații moderne rapid și în limita bugetului. Promoție Embarcadero RAD Studio 10.3 RAD Studio Rio (10.3) empowers developers to create stunning, high performing apps for Windows, macOS, iOS, Android and Linux Server*, using the same native code base. RAD Studio 10.3 makes significant improvements for C++ developers including C++17 Win32 support, improved code completion, debugging for optimized builds and new libraries. Delphi developers can now enjoy inline variable declaration, type inference, and more. For both C++ and Delphi developers, RAD Studio Rio brings enhancements to VCL for High DPI displays, Per Monitor V2 support, new Windows 10 and WinRT APIs, updated mobile platform support, and more. Finally, RAD Studio Rio adds more value and capabilities to the Enterprise edition with a RAD Server single site deployment license and an InterBase ToGo for mobile deployment license. The Architect edition now includes a Sencha ExtJS Professional license, InterBase ToGo for mobile deployment license, RAD Server multi-site deployment license, and an Aqua Data Studio license. These additional licenses expand web enablement, application backend server, and database capabilities for your enterprise applications. All New Architect Edition Power Pack Get more from the Architect Edition with these included Idera family licenses. Sencha ExtJS Professional license: Create your perfect web-enabled front end using javascript and ExtJS. ($1200 Value) InterBase ToGo mobile deployment license: Add data storage to your apps with this flexible, encrypted, embeddable database. RAD Server multi-site deployment license: Perfect for your microservices architecture backend. ($5000+ Value) Aqua Data Studio license: Versatile database design and administration, and data management and visualization. ($499 Value) GetIt now supports parallel downloads to get your new IDE installed with the latest components faster – So get downloading now and enjoy the 10.3 release.

Read More

Embarcadero StartUp PROMO

StartUp promo – la procurarea a oricarui tip de licenta – RAD Studio, Delphi sau C++ Builder de orice ediție: Professional Enterprise Architect primiti discount de 50% la achiziție celei de a doua licență ! StartUp PROMO 10.3.3 Rio este cea mai bună versiune a noastră la momentul actual, oferind caracteristici infinite care vă ajută să construiți, să testați și să implimentați aplicații moderne rapid și în limita bugetului. Unele din cele mai interesante functionalități oferite: Android API26 support. Android Native Controls and FMX styled controls on the same Android form, including using material design theme for Android 5.0 or higher Support for Unicode Emoji 10.3 Update 1 adds expanded support for iOS 12 and iPhone X series devices. 10.3 Update 1 includes a set of 5 different FireMonkey multi-device styles with theming support for Windows, macOS, Android, and iOS. New in 10.3.2: macOS 64-bit application support for Delphi and C++17 support for Windows 64-bit for C++Builder. New in 10.3.2: includes the following updates and enhancements to the Android Firebase push notification support: The Android Firebase patch distributed for 10.3.1 is now part of the 10.3.2 product release – all files are part of the Android platform installation Includes improvements to icons for all notifications Updates to Google Play services and Maps to match Firebase version support requirements Firebase replaces Google Cloud Messaging (deprecated by Google) Visit Embarcadero docwiki for a full list of 10.3. new features

Read More

15% OFF Editia Professional

Numai până pe data de 30 Octombrie! Oferta specială de toamnă– oferim 15% discount pentru ediția PROFESSIONAL a soluțiilor RAD Studio, Delphi sau C++ Builder 10.3.3 Rio este cea mai bună versiune a noastră la momentul actual, oferind caracteristici infinite care vă ajută să construiți, să testați și să implimentați aplicații moderne rapid și în limita bugetului. Numai pentru o perioadă limitată de timp obțineți tot ceea ce 10.3.3 are de oferit cu o reducere de 15%. Completați formularul pentru solicitarea ofertei personale!

Read More

25% OFF Editia Enterprise

Numai până pe data de 30 Octombrie! Oferim REDUCERE DE 25% pentru ediția ENTERPRISE a soluțiilor EMBARCADERO: RAD Studio Delphi C++ Builder 10.3.3 Rio este cea mai bună versiune a solutiilor Embarcadero la momentul actual, oferind caracteristici infinite care vă ajută să construiți, să testați și să implimentați aplicații moderne rapid și în limita bugetului. Peste 3 millioane de dezvoltatori software din toata lumea utilizează cu încredere soluțiile Embarcaderoo în procesul de dezvoltare a aplicațiilor software pentru web si desktop. Alăturați-vă comunității, solicitați oferta!

Read More